major refactoring of provider architecture