DI Framework