add Composite Entity Design Pattern