Starting to flesh out the code. Many failing tests.
Fixed some bugs with tests.
Further develop the implementation. Moar passing tests