for me it only undergoes 2 levels of recursion before breaking