switched to service-driven data model