Instead of just saying that you want to be fluent “some day” (or even in my case where I am picking 3 months) and hoping that it will naturally (or magically) happen, you should set yourself very specific goals in short periods of time. Below you will see a few ways you might do this; i.e. changing your long-term “unachievable” goal into smaller daily or weekly goals that you can finish completely and feel that sense of achievement immediately. All of these have worked for me at various stages in learning languages when trying to improve on my weak points:
BAD GOAL: “Eventually” have a good command of general vocabulary.
GOOD GOAL: Learn words for objects in the kitchen (for example) by 5pm and have someone test you to make sure that you remember. Then select a new theme for the next day, but come back to this one next week to make sure that you haven’t forgotten what you learned.
BAD GOAL: Speak fluently some day.
GOOD GOAL: Be able to repeat learned off phrases by the end of the first day, then be able to form your own basic (grammatically incorrect) sentences at the end of the first week, and then make a new plan.
BAD GOAL: Speak with a very slight (or preferably no) accent.
GOOD GOAL: Work on rolling your ‘r’ for the next 3 days like they do in the target language, getting as many tips about this one sound and mouth/tongue positioning from others as you can. Train yourself and repeat the sound as often as possible. Then ask people what other sounds distinguish your English accent and work on them one at a time.