tests: improve test coverage

closes #24
closes #25
closes #26