all tests passing - next better tests with mocking and 100% coverage