adding DI framework