Third commit for revised Challenge 1

Finally works as specified. Next step is to apply better object oriented
organization.