IoC final impl and misc changes