added service composition