So here it is: 1987 Suburban 1/2 ton 4wd 350 auto At about 355,000 miles on the engine (and about 530,000 on the truck) I finally blew the head gaskets. Removed, repaired and reassembled top end. Fired on the first try. NEVER had timing marks on the engine, always set by ear. INstalled timing marks and set to 0 as spec states. Engine runs soother than ever at idle. Sounds great. But has HUGE hesitation / surge at midrange rpm. smooths out at higher rpm but never quite feels like rpms reaching their potential. Got engine light and had a code for O2 sensor. Figured that was because all the coolant down the pipes so I replaced it. Now I get a code for Lean Exhaust and burns TONS of fuel. was getting about 16 - 18 when the gaskets blew. Now getting about maybe 8. Love workin on cars but dont like all the electronics. Not stupid, have built cars that run in the 10's on the dragstrip without juice but cant get my own truck to run right. Tired of this and need some help. Thanks, Slimyguts Update: Tried to retard timing by 4 degrees, no change. Returned timing to 0. Checked for codes again. Got code 13 - O2 sensor (but its brand new) code 24 - Vehicle speed sensor and code 44 - Lean Exhaust. With the symptoms and these codes I am leaning towards a faulty TPS (throttle position sensor) Dont like to just throw parts at it, want to figure it out. What ya think?