provider config refactor