collectional pattern - composite