halfway through genericizing data sources