data service implementation