add CompositeServiceBehavior and change related code