made the ProviderSelector class abstract.