dataservice refactoring