hi, i have a 1.6 driver mk2, and its has a problem

please take the time to read it is greatly appreciated
Basically the story goes, my car ran fine, then one day it decided to rev a bit high, then it got higher, i think its around 2.5k. ?Anyway on rare occations it doesn't do it. ?But when it does it revs pretty high and it obviously over fueling. ?So wen i set off there is plenty of lag (if u get what i mean) until the revs get to about 4k. ?The choke plunger isn't hitting the throttle so i don't think it is the choke, does any 1 have any ideas?
Also this morning i was on the way to work and i was late so i was doing 100 on the motorway all the way, and the car was fine the problem didnt happen, then i went off the motorway up2 teh round about, so i tried to accellerate it suffered really bad lag then loads of white smoke poured out from the exhaust for about 20secs (a massive amout like a cloud) since then it hasnt smoked but the problem still happens
help me please
