data sources refactoring