support dependency injector