Developed a good structure. Separated out the UserInput