Add compostite design pattern