working DI version