I have just read your questions about howyou can improve your level in English I think the best way, it's to make one or two hours by day.
You must listen the bbc radio UK and CNN in American (or another else if you want) to understand the different accent.
Try to read the Newspapers too and when you find a new word, search its meaning on the dictionnary and learn it in the context (rewrite the sentence in one paper to remember it).
The last think I can tell you, don't be afraid to use it with others people around you, if you mistake it's not grave.
If you can practice all days it is better. Don't give up, it's a long way, but one day you will see the light at the end of the channel (me too I am not very good in English but I try to make my best).
Have a nice and sunny day.
Student or Learner