nicer IoC thanks to Jeff