separate input logic to InputManager