Added Composite Design Pattern