Add Composite Pattern