^ you missed the point. Bmws were never tin cans, but they are getting overly bloated. It doesn't need all these electronics, sensors, gadgets. They need to go back to basics.
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