added everything except console functionality and joystick