implemented InputHandler