to be good at ANY lang.uage you should learn two major things: Writing (meaning you should be able to write any kind of text in this lang.uage... thus you should have as much vocabulary as possible) and this skill is earned by READING (you should read everything, books, newspapers, magazines, diiffrent kind of threads
second skill is: Speaking the lang.uage (meaning you should learn how to pronouce the words and the letters... fluently speaking English is very easy I believe) and this one is earned by: LISTENING
listen to converstations,interveiws, TV news... (but please, NOT music) ok
believe me, this is exactly how you're gonna be absolutely perfect at English
about your second question: no matter what your level is, it's always not enough, so i'm definittely not satisfied
last but not least: Good Luck!i
peace