recently just rebuilt the heads in my 03 4.7 , new heads, new lashers, new rockers, new gaskets, and plugs... my issue is its throwing a vacuum leak code and runs like its missing. To start the motor it takes over quarter throttle to fire, after it fires; it is wanting to idle between 3 and 400 rpm.. fluttering and sounding like its missing and without giving it throttle it will not idle, the throttle body has been cleaned and I went ahead and replaced the tps .. map and IAC valve, with no change. Mechanically it is timed, I have checked it with an inductive timing gun on cylinder 1 and 8 and it is timed. But the motor is running as if its not timed, does the pcm need a re learn program, or re-flashed ? I am at a loss here after checking the timing a dozen times and with a live diagnostic it is 12* advanced at 8-900 rpm ... any advice would be greatly appreciated ..