adjusted recursion limit