Made a start, wrote some classes and tests.