Refactoring to support new service style