Lots of changes to the structure of services and data to make it easier
to extend the base