i hate to cross the bridge before i get in front of it, but the most common fault of this symptom is a bad tps. your tps has three terminals. check continuity/resistance between the top and the bottom terminals. if the resistance is infinite, it's time to replace it. if there is continuity and less than infinite resistance, do a sweep between the middle and either top or bottom terminal of the sensor. if at somewhere about 40% throttle opening you find a glitch, the tps is bad. try running the engine at around a threshold of 2000 rpm, this is the most common engine speed when the engine "hunts" if the tps is faulty