add test for recursion