added in gamepad functionality just because