Classes redesigned from test
Updates to classes and tests
Breaking up classes into smaller classes