finish input driver
Add TODO