Runs and works. Needs better button detection tho.