composition with array