some more recursion work