Ioc from scratch