working through Input.js bugs - not finished