added custom controller and game state