added files for the composite pattern