refactor  DataWorkspace datasource