SDK 1.0 -> SDK 2.0

Sorry, all in one big monster commit as I was recompiling and testing
until it worked