IoC implemented