add an example on the composite pattern