refinements and completed provider class basically