90% test coverage

Fixes #29