Composite design pattern added.