refactored IoC definition containers