refactor DI package