Refactor ProviderServiceImpl