collective recursion