now takes user input