Constructor functions now use IoC