check recursion final