Did a lot of work on service and datamodel