changing everything to use injector