I use an EECTuner programable chip, it rocks, unlimited modifications with using your laptop.
It is not easy though, requires some EEC-working knowledge, but after a year with it i feel very confortable changing calibrations depending on my mods.
The learning curve is a couple of months to get all the basics and some more advanced stuff.
You can change: timing curves, fuel curves, operation at WOT, shiftpoints on AODES, timing advance or retard, disable timing retard during shifts, MAF size, Injector Size, engine size, intake size, EGR on/off, exhaust pulse delay for longtubes, etc.............its is a long list.