switch to constructor injection