adds basic composite pattern and test for it. will add more specific examples that actually do something