providers access refactoring