changed how user input is handled