updated so it uses joystick and such