redesign of DBDataProvider