user input improvements