adds the Datasource protocol