patch super recursion