Fixed broken code that was using gross recursion to at least do it and not break