revamping user input