improved user input