change the way to inject service