composite without recursion