UserInput Refactoring