Implement ioc