suffix Trait and add container factory
refactoring some dependencies