added some tests with proper DI