allow switching data source (wip)