composite pattern(make a cake)