About 100 dollars for the APP and the Adapter
http://www.mycarly.com/product/bmw-app/
Reusable over and over. Lets you set your car back to stock when you go to dealer. Fool proof and automatically creates backups for you.
Best product I have seen for coding and they add ALL the time to the features.