Takes user input