Hey, VR6, that's cheating.... just copying my mods

Also my 2nd car and my previous was a '90 316i (M40 engine, 105bhp@6500rpm version).
On the 2.0 8v mods:
PiperX or K&N57i induction is a must. Viper is a little bit better, but 4 x more spondoolies

Decent exhaust (gas flowed head / 4-2-1 manifold is also nice, but a LOT more, decent cat-back exhaust is a good start). Milltek stealth is sweet. I've got the Milltek Jet - dual pipe, so a shade louder, but same performance...
Remap. el-cheap will do a fair bit, properly tuned to the mods makes a bit more difference. Some companies apparently ship remaps based approx on your engine and mods - the more customised the better.... but also more expensive.
My engine upgrades are an unknown remap (before I bought the car), Milltek Jet, PiperX induction.
Rolling roaded at 142bhp @ 5550rpm and 148lb/ft @ 3300rpm (stock is 115bhp @ 5600rpm and 122lb/ft @ 2600rpm). Only realised it was chipped after I sent the car in for the above upgrades and remap, which they wouldn;t do, 'cos they siad it was about as good as it should get and they saved me ?300. VERY smooth very strong torque throughout the range, more torque at 1600rpm than the stock has max torque, plus I'm through 115bhp @4000rpm and have 1500rpm to rev through while it's still building on that (up to 142bhp)!
The induction and exhaust improved throttle response and sound no end... sadly I have no idea what it RR'd at with the just the original remap in there. Remember faster air flow implies it needs to go in AND out faster - so get the inductiona nd exhaust together.
My birthday in 3 weeks. Giving myself Koni/Eibach suspension and possibly a new cam, but doing the sums right now

Got some photo's if you want to see the work that AMD do.