Redid controller inversion and fixed getButtons()