service-classes refactored