accepts user input now