Implemented the InputEngine