add comment to code
refactor DI package