Attempt Four

Commented version of attempt three that contains base case covereage
and any exceptions due to user input. Will submit this one.