service patterns