all tests passing, is now unit testable