cleaned up final call
Final submission

Comments included, test cases included at the bottom, sub-functions
called out explicitly.  I should think this receives a perfect score...