Refactored to separate valid input evaluation into true/false method and a method to interface with the user in case of invalid input