Updated for user input