initial commit - copied sample code, changed it, added comments, etc. No unit
tests yet. Yes, I know - bad programmer! No cake for you!!