Misc stuff, use interfaces for di as well