Added InputDevice interface