diff --git a/unpacked/extensions/MathML/content-mathml.js b/unpacked/extensions/MathML/content-mathml.js
index ccceb5d4f..2acc8e41a 100644
--- a/unpacked/extensions/MathML/content-mathml.js
+++ b/unpacked/extensions/MathML/content-mathml.js
@@ -116,14 +116,14 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
     },
 
     cloneNode: function(element,deep) {
-      var clone;
+      var clone, i, l;
       if (element.nodeType === 1) {
-        var clone = CToP.createElement(element.nodeName);
-        for (var i = 0, l = element.attributes.length; i<l; i++ ) {
+        clone = CToP.createElement(element.nodeName);
+        for (i = 0, l = element.attributes.length; i<l; i++ ) {
           clone.setAttribute(element.attributes[i].nodeName,element.attributes[i].nodeValue);
         }
         if (deep) {
-          for (var i = 0, l = element.childNodes.length; i<l; i++ ) {
+          for (i = 0, l = element.childNodes.length; i<l; i++ ) {
             var clonedChild = CToP.cloneNode(element.childNodes[i],true);
             clone.appendChild(clonedChild);
           }
@@ -351,15 +351,16 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
           var munderover = CToP.createElement('munderover');
           munderover.appendChild(mo);
           var mrow1 = CToP.createElement('mrow');
-          for (var i = 0, num_qualifiers = qualifiers.length; i<num_qualifiers; i++ ) {
+          var i, num_qualifiers, v, num_bvars, children, bvar, num_children, num_args;
+          for (i = 0, num_qualifiers = qualifiers.length; i<num_qualifiers; i++ ) {
             if (qualifiers[i].nodeName === 'lowlimit'||
                 qualifiers[i].nodeName === 'condition'||
                 qualifiers[i].nodeName === 'domainofapplication')
             {
               if (qualifiers[i].nodeName === 'lowlimit') {
-                for (var j = 0, num_bars = bvars.length; j<num_bvars; j++ ) {
-                  var bvar = bvars[j];
-                  var children = CToP.getChildren(bvar);
+                for (j = 0, num_bvars = bvars.length; j<num_bvars; j++ ) {
+                  bvar = bvars[j];
+                  children = CToP.getChildren(bvar);
                   if (children.length) {
                     CToP.applyTransform(mrow1,children[0],0);
                   }
@@ -368,16 +369,16 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
                   CToP.appendToken(mrow1,"mo",limitSymbol);
                 }
               }
-              var children = CToP.getChildren(qualifiers[i]);
+              children = CToP.getChildren(qualifiers[i]);
               for (j = 0;j<children.length;j++) {
                 CToP.applyTransform(mrow1,children[j],0);
               }
             } else {
-              var children = CToP.getChildren(qualifiers[i]);
+              children = CToP.getChildren(qualifiers[i]);
               if (qualifiers[i].nodeName === 'interval' && children.length === 2) {
-                for (var j = 0, num_bvars = bvars.length; j<num_bvars; j++ ) {
-                  var bvar = b[j];
-                  var children = CToP.getChildren(bvar);
+                for (j = 0, num_bvars = bvars.length; j<num_bvars; j++ ) {
+                  bvar = bvars[j];
+                  children = CToP.getChildren(bvar);
                   if (children.length) {
                     CToP.applyTransform(mrow1,children[0],0);
                   }
@@ -391,11 +392,11 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
           }
           munderover.appendChild(mrow1);
           var mjrow = CToP.createElement('mrow');
-          for (var i = 0, num_qualifiers = qualifiers.length; i<num_qualifiers; i++ ) {
+          for (i = 0, num_qualifiers = qualifiers.length; i<num_qualifiers; i++ ) {
             if (qualifiers[i].nodeName === 'uplimit' ||qualifiers[i].nodeName === 'interval' )
             {
-              var children = CToP.getChildren(qualifiers[i]);
-              for (var j = 0, num_children = children.length; j<num_children; j++ ) {
+              children = CToP.getChildren(qualifiers[i]);
+              for (j = 0, num_children = children.length; j<num_children; j++ ) {
                 CToP.applyTransform(mjrow,children[j],0);
               }
             }
@@ -403,7 +404,7 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
           munderover.appendChild(mjrow);
           mrow.appendChild(munderover);
 
-          for (var i = 0, num_args = args.length; i<num_args; i++ ) {
+          for (i = 0, num_args = args.length; i<num_args; i++ ) {
             CToP.applyTransform(mrow,args[i],precedence);
           }
 
@@ -418,27 +419,28 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
       bind: function(name,argSeparator,conditionSeparator) {
         return function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) {
           var mrow = CToP.createElement('mrow');
+          var children, i, j, l, num_qualifiers, num_children;
           if (name) {
             CToP.appendToken(mrow,'mo',name);
           }
-          for (var j = 0, l = bvars.length; j<l; j++ ) {
+          for (j = 0, l = bvars.length; j<l; j++ ) {
             var bvar = bvars[j];
             if (j>0) {
               CToP.appendToken(mrow,'mo',',');
             }
-            var children = CToP.getChildren(bvar);
+            children = CToP.getChildren(bvar);
             if (children.length) {
               CToP.applyTransform(mrow,children[0],0);
             }
           }
 
           var conditions_mrow = CToP.createElement('mrow');
-          var conditions = false, children;
-          for (var i = 0, num_qualifiers = qualifiers.length; i<num_qualifiers; i++ ) {
+          var conditions = false;
+          for (i = 0, num_qualifiers = qualifiers.length; i<num_qualifiers; i++ ) {
             if (qualifiers[i].nodeName === 'condition')	{
               conditions = true;
               children = CToP.getChildren(qualifiers[i]);
-              for (var j = 0, num_children = children.length; j<num_children; j++ ) {
+              for (j = 0, num_children = children.length; j<num_children; j++ ) {
                 CToP.applyTransform(conditions_mrow,children[j],0);
               }
             }
@@ -447,11 +449,11 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
             CToP.appendToken(mrow,'mo',conditionSeparator);
           }
           mrow.appendChild(conditions_mrow);
-          for (var i = 0, num_qualifiers = qualifiers.length; i<num_qualifiers; i++ ) {
+          for (i = 0, num_qualifiers = qualifiers.length; i<num_qualifiers; i++ ) {
             if (qualifiers[i].nodeName != 'condition')	{
               CToP.appendToken(mrow,'mo','\u2208');
               children = CToP.getChildren(qualifiers[i]);
-              for (var j = 0, num_children = children.length; j<num_children; j++ ) {
+              for (j = 0, num_children = children.length; j<num_children; j++ ) {
                 CToP.applyTransform(mrow,children[j],0);
               }
             }
@@ -459,7 +461,7 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
           if (args.length && (bvars.length||children.length)) {
             CToP.appendToken(mrow,'mo',argSeparator);
           }
-          for (var i = 0, l = args.length; i<l; i++ ) {
+          for (i = 0, l = args.length; i<l; i++ ) {
             CToP.applyTransform(mrow,args[i],0);
           }
           parentNode.appendChild(mrow);
@@ -504,13 +506,13 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
           }
           if (qualifiers.length) {
             CToP.appendToken(mrow2,'mo','|');
-            for (var i = 0, l = qualifiers.length; i<l; i++ ) {
+            for (i = 0, l = qualifiers.length; i<l; i++ ) {
               CToP.applyTransform(mrow2,qualifiers[i],0);
             }
           }
           CToP.appendToken(mrow2,'mo','}');
-        mrow.appendChild(mrow2);
-        parentNode.appendChild(mrow);
+          mrow.appendChild(mrow2);
+          parentNode.appendChild(mrow);
         }
       }
     }
@@ -687,12 +689,12 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
     piece: function(parentNode,contentMMLNode,precedence) {
       var mtr = CToP.createElement('mtr');
       var children = CToP.getChildren(contentMMLNode);
-      for (i = 0, l = children.length; i<l; i++ ) {
+      for (var i = 0, l = children.length; i<l; i++ ) {
         var mtd = CToP.createElement('mtd');
         mtr.appendChild(mtd);
         CToP.applyTransform(mtd,children[i],0);
         if (i === 0) {
-          var mtd = CToP.createElement('mtd');
+          mtd = CToP.createElement('mtd');
           CToP.appendToken(mtd,"mtext","\u00A0if\u00A0");
           mtr.appendChild(mtd);
         }
@@ -707,7 +709,7 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
         var mtd = CToP.createElement('mtd');
         mtr.appendChild(mtd);
         CToP.applyTransform(mtd,children[0],0);
-        var mtd = CToP.createElement('mtd');
+        mtd = CToP.createElement('mtd');
         mtd.setAttribute('columnspan','2');
         CToP.appendToken(mtd,"mtext","\u00A0otherwise");
         mtr.appendChild(mtd);
@@ -737,14 +739,14 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
         CToP.appendToken(mrow,'mo','|');
         mrow.appendChild(msub2);
         CToP.appendToken(mrow,'mo','=');
-        for (var i = 0, l = args.length; i<l; i++ ) {
+        for (i = 0, l = args.length; i<l; i++ ) {
           if (i != 0) {
             CToP.appendToken(mrow,'mo',',');
           }	
           CToP.applyTransform(mrow,args[i],0);
         }
         CToP.appendToken(mrow,'mo',';');
-        for (var i = 0, l = qualifiers.length; i<l; i++) {
+        for (i = 0, l = qualifiers.length; i<l; i++) {
           if (i != 0) {
             CToP.appendToken(mrow,'mo',',');
           }	
@@ -755,7 +757,7 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
       } else {
         var mfenced = CToP.createElement('mfenced');
         var mtable = CToP.createElement('mtable');
-        for (var i = 0, l = args.length; i<l; i++ ) {
+        for (i = 0, l = args.length; i<l; i++ ) {
           CToP.applyTransform(mtable,args[i],0);
         }
         mfenced.appendChild(mtable);
@@ -787,20 +789,21 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
       var firstArg = CToP.createElement('lambda');
       var children = CToP.classifyChildren(contentMMLNode);
       var args = children.args, bvars = children.bvars, qualifiers = children.qualifiers;
-
+      var i, l, num_quantifiers;
+      
       if (bvars.length) {
         CToP.applyTokens.lambda(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence);
       } else {
         var mrow = CToP.createElement('mrow');
-        for (var i = 0, l = args.length; i<l; i++ ) {
+        for (i = 0, l = args.length; i<l; i++ ) {
           CToP.applyTransform(mrow,args[i],0);
         }
         if (qualifiers.length) {
           var msub = CToP.createElement('msub');
           CToP.appendToken(msub,'mo','|');
           var mrow2 = CToP.createElement('mrow');
-          for (var i = 0, num_qualifiers = qualifiers.length; i<num_qualifiers; i++ ) {
-            var children = CToP.getChildren(qualifiers[i]);
+          for (i = 0, num_qualifiers = qualifiers.length; i<num_qualifiers; i++ ) {
+            children = CToP.getChildren(qualifiers[i]);
             for (var j = 0, num_children = children.length; j<num_children; j++ ) {
               CToP.applyTransform(mrow2,children[j],0);
             }
@@ -1046,9 +1049,9 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
     },
 
     moment: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) {
-      var degree,momentabout;
+      var degree, momentabout, children, i, j, l;
 
-      for (var i = 0, l = qualifiers.length; i<l; i++ ) {
+      for (i = 0, l = qualifiers.length; i<l; i++ ) {
         if (qualifiers[i].nodeName === 'degree') {
           degree = qualifiers[i];
         } else if (qualifiers[i].nodeName === 'momentabout') {
@@ -1067,8 +1070,8 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
       if (degree) {
         var msup = CToP.createElement('msup');
         msup.appendChild(argrow);
-        var children = CToP.getChildren(degree);
-        for (var j = 0, l = children.length; j<l; j++ ) {
+        children = CToP.getChildren(degree);
+        for (j = 0, l = children.length; j<l; j++ ) {
           CToP.applyTransform(msup,children[j],0);
         }
         mrow.appendChild(msup);
@@ -1080,8 +1083,8 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
       if (momentabout) {
         var msub = CToP.createElement('msub');
         msub.appendChild(mrow);
-        var children = CToP.getChildren(momentabout);
-        for (var j = 0, l = children.length; j<l; j++ ) {
+        children = CToP.getChildren(momentabout);
+        for (j = 0, l = children.length; j<l; j++ ) {
           CToP.applyTransform(msub,children[j],0);
         }
         parentNode.appendChild(msub);
@@ -1370,17 +1373,18 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
       var msubsup = CToP.createElement('msubsup');
       msubsup.appendChild(mo);
       var mrow1 = CToP.createElement('mrow');
-      for (var i = 0, num_qualifiers = qualifiers.length; i<num_qualifiers; i++ ) {
+      var children, i, j, l, num_quantifiers, num_children;
+      for (i = 0, num_qualifiers = qualifiers.length; i<num_qualifiers; i++ ) {
         if (qualifiers[i].nodeName === 'lowlimit'||
             qualifiers[i].nodeName === 'condition'||
             qualifiers[i].nodeName === 'domainofapplication')
         {
-          var children = CToP.getChildren(qualifiers[i]);
-          for (var j = 0, num_children = children.length; j<num_children; j++ ) {
+          children = CToP.getChildren(qualifiers[i]);
+          for (j = 0, num_children = children.length; j<num_children; j++ ) {
             CToP.applyTransform(mrow1,children[j],0);
           }
         } else {
-          var children = CToP.getChildren(qualifiers[i]);
+          children = CToP.getChildren(qualifiers[i]);
           if (qualifiers[i].nodeName === 'interval' && children.length === 2) {
             CToP.applyTransform(mrow1,children[0],0);
           }
@@ -1388,27 +1392,27 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
       }
       msubsup.appendChild(mrow1);
       var mrow2 = CToP.createElement('mrow');
-      for (var i = 0, num_qualifiers = qualifiers.length; i<num_qualifiers; i++ ) {
+      for (i = 0, num_qualifiers = qualifiers.length; i<num_qualifiers; i++ ) {
         if (qualifiers[i].nodeName === 'uplimit') {
-          var children = CToP.getChildren(qualifiers[i]);
+          children = CToP.getChildren(qualifiers[i]);
           for (j = 0, num_children = children.length; j<num_children; j++ ) {
             CToP.applyTransform(mrow2,children[j],0);
           }
           break;
         } else if (qualifiers[i].nodeName === 'interval' ) {
-          var children = CToP.getChildren(qualifiers[i]);
+          children = CToP.getChildren(qualifiers[i]);
           CToP.applyTransform(mrow2,children[children.length-1],0);
           break;
         }
       }
       msubsup.appendChild(mrow2);
       mrow.appendChild(msubsup);
-      for (var i = 0, l = args.length; i<l; i++ ) {
+      for (i = 0, l = args.length; i<l; i++ ) {
         CToP.applyTransform(mrow,args[i],0);
       }
-      for (var i = 0, l = bvars.length; i<l; i++ ) {
+      for (i = 0, l = bvars.length; i<l; i++ ) {
         var bvar = bvars[i];
-        var children = CToP.getChildren(bvar);
+        children = CToP.getChildren(bvar);
         if (children.length) {
           var mrow3 = CToP.createElement("mrow");
           CToP.appendToken(mrow3,'mi','d');
@@ -1475,8 +1479,7 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
         mfrac.appendChild(toprow);
         mfrac.appendChild(bottomrow);
 
-        var bvar;
-        var degreeNode;
+        var bvar, degreeNode, msup, mrow;
 
         var d = CToP.createElement('mi');
         CToP.setTextContent(d,'d');
@@ -1487,7 +1490,7 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
             var childNode = CToP.getChildren(children[j])[0];
             if (CToP.getTextContent(childNode) != '1') {
               degreeNode = childNode;
-              var msup = CToP.createElement('msup');
+              msup = CToP.createElement('msup');
               msup.appendChild(d);
               d = msup;
               CToP.applyTransform(d,degreeNode,0);
@@ -1503,7 +1506,7 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
             case 'apply':
             case 'bind':
             case 'reln':
-              var mrow = CToP.createElement('mrow');
+              mrow = CToP.createElement('mrow');
               mrow.appendChild(mfrac);
               CToP.applyTransform(mrow,args[0],3);
               outNode = mrow;
@@ -1528,17 +1531,17 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
 
         parentNode.appendChild(outNode);
       } else {	// f' form
-        var msup = CToP.createElement('msup');
-        var mrow = CToP.createElement('mrow');
+        msup = CToP.createElement('msup');
+        mrow = CToP.createElement('mrow');
         msup.appendChild(mrow);
         CToP.applyTransform(mrow,args[0],0); 
-        CToP.appendToken(m,'mo','\u2032'); // tick
+        CToP.appendToken(msup,'mo','\u2032'); // tick
         parentNode.appendChild(msup);
       }
     },
 
     partialdiff: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence)  {
-      var m, mi, msup, mrow, mo, z;
+      var msup, msub, mrow;
 
       var mfrac = CToP.createElement('mfrac');
       var toprow = CToP.createElement('mrow');
@@ -1546,11 +1549,11 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
       mfrac.appendChild(toprow);
       mfrac.appendChild(bottomrow);
 
-      var degreeNode, differendNode;
+      var differendNode, degree, children;
 
       if (bvars.length === 0 && args.length === 2 && args[0].nodeName === 'list') {
         if (args[1].nodeName === 'lambda') {	// `d^(n+m)/(dx^n dy^m) f` form, through a lambda
-          var degree = CToP.getChildren(args[0]).length;
+          degree = CToP.getChildren(args[0]).length;
           if (degree != 1) {
             msup = CToP.createElement('msup');
             CToP.appendToken(msup,'mo','\u2202');	// curly d
@@ -1560,7 +1563,7 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
             CToP.appendToken(toprow,'mo','\u2202');
           }
 
-          var children = CToP.getChildren(args[1]);
+          children = CToP.getChildren(args[1]);
 
           differendNode = children[children.length - 1];	// thing being differentiated
 
@@ -1573,7 +1576,8 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
             }
           }
 
-          var lastN = null, degree = 0;
+          var lastN = null;
+          degree = 0;
           function addDiff(n,degree) {
             CToP.appendToken(bottomrow,'mo','\u2202');
             var bvar = bvarNames[n];
@@ -1586,7 +1590,7 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
               CToP.applyTransform(bottomrow,bvar,0);
             }
           }
-          for (var i = 0, l = lambdaSequence.length; i<l; i++ ) {
+          for (i = 0, l = lambdaSequence.length; i<l; i++ ) {
             var n = Number(CToP.getTextContent(lambdaSequence[i]))-1;
             if (lastN !== null && n != lastN) {
               addDiff(lastN,degree);
@@ -1599,8 +1603,8 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
             addDiff(lastN,degree);
           }
         } else {	// `D_i_j f` form
-          var mrow = CToP.createElement('mrow');
-          var msub = CToP.createElement('msub');
+          mrow = CToP.createElement('mrow');
+          msub = CToP.createElement('msub');
           CToP.appendToken(msub,'mi','D');
           var bvar = CToP.getChildren(args[0]);
           msub.appendChild(CToP.createmfenced(bvar,'',''));
@@ -1610,7 +1614,7 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
           return;
         }
       } else {	// `d^(n+m)/(dx^n dy^m) f` form, with bvars
-        var msup = CToP.createElement('msup');
+        msup = CToP.createElement('msup');
         toprow.appendChild(msup);
         CToP.appendToken(msup,'mo','\u2202');
 
@@ -1623,12 +1627,12 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
           qualifier = CToP.getChildren(qualifiers[0])[0];
           CToP.applyTransform(degreeRow,qualifier,0);
         } else {
-          var degree = 0;
+          degree = 0;
           var hadFirst = false;
-          for (var i = 0, l = bvars.length; i<l; i++ ) {
-            var children = CToP.getChildren(bvars[i]);
+          for (i = 0, l = bvars.length; i<l; i++ ) {
+            children = CToP.getChildren(bvars[i]);
             if (children.length === 2) {
-              for (j = 0;j<2;j++) {
+              for (var j = 0;j<2;j++) {
                 if (children[j].nodeName === 'degree') {
                   if (/^\s*\d+\s*$/.test(CToP.getTextContent(children[j]))) {
                     degree += Number(CToP.getTextContent(children[j]));
@@ -1657,9 +1661,9 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
           differendNode = args[0];
         }
 
-        for (var i = 0, l = bvars.length; i<l; i++ ) {
+        for (i = 0, l = bvars.length; i<l; i++ ) {
           CToP.appendToken(bottomrow,'mo','\u2202');
-          var children = CToP.getChildren(bvars[i]);
+          children = CToP.getChildren(bvars[i]);
 
           if (children.length === 2) {
             for (j = 0;j<2;j++) {
@@ -1681,7 +1685,7 @@ MathJax.Extension["MathML/content-mathml"] = (function(HUB) {
           case 'apply':
           case 'bind':
           case 'reln':
-            var mrow = CToP.createElement('mrow');
+            mrow = CToP.createElement('mrow');
             mrow.appendChild(mfrac);
             CToP.applyTransform(mrow,differendNode,3);
             outNode = mrow;