Improvements to AbstractProvider