Input system complete (untested)