Composite pattern