impl Composite pattern