Complete rewrite
Still refactoring / testing
Working tests
Release 0.2.0