DI class implementation