added some gamepad support