http://www.reinterpretcast.com/create-a-basic-bootloader/