Get one of these
http://www.sears.com/shc/s/p_10153_12605_00935154000P
.....they normally go on sale for $99
__________________
If no codes are being thrown use Chevron Techron fuel injector cleaner (concentrate). It solves rpm fluctuating upon cold start-up. Also, for most BMW problems start off by scanning your car with the Peake Research Tool. It contains the actual BMW codes. If you want to register a newly installed battery for free (just buy a $10 cable) and google/download BMWLogger