Add composite pattern
Add composite pattern