AbstractProvider cleanup
Merge pull request #481 from XWB/abstract-provider-cleanup

AbstractProvider cleanup