About 6 months ago I threw a PO420 code with no runability problems. The light eventually went out by itself. It reappeared awhile later and again went out. 2 weeks ago I started having this engine surge (more when cold, but does it when warmed up too). Starting is getting a little more difficult(has to turn over longer and stumbles a bit upon firing). I thought because of the code PO420 It was probably the O2 sensor. I replaced both. The downstream looked clean, the upstream was black(looked like soot). Did not solve the problem. I replaced the TPS next. Same problem. I don't have any codes thrown now. Any suggestions? Engine idles fine after start up, then goes to 2000 rpm for about 20 seconds and drops back down to normal. It does this while your driving too.