change service to provider, so that it can be config at config phase.