worked on input rebinding