process user input