All tests passing, added comments to code and refactored.