Homework 4 - Version 1

Not all of the tests have been implemented. Still have a few other items
to work through.