more work on datasource selection