IoC first part