added InputHandler + tests