closes #4 (dependency injection)
increase test coverage