Refactor resource provider
Refactor resource provider