handles more user input