get and interpret user input