New input handling model