asks user for input and checks it is reasonable