infinite recursion has been fixed