implemented count by provider type