Added user prompt, some error catching for invalid input values.