[add] composite design pattern implementation