modify the CompositePattern