Data Provider support and refactoring