Final Project

Final version of the project with 16 out of 16 tests completed and
accepted.