add user input error handling