diff --git a/dist/HTMLNormalizer/HTMLNormalizer.js b/dist/HTMLNormalizer/HTMLNormalizer.js
index 1cf9605dbd1c344b46a44d14203c567bfa746d05..839adf3cdad35407f475a1704094fa7e996da467 100644
--- a/dist/HTMLNormalizer/HTMLNormalizer.js
+++ b/dist/HTMLNormalizer/HTMLNormalizer.js
@@ -102,7 +102,8 @@ const printHtmlNode = (node, printFunction, depth) => {
             if (node.firstChild) {
                 result += ">";
                 result += "\n";
-                result += exports.printHtmlChildren(node, printFunction, depth + 1);
+                const printout = exports.printHtmlChildren(node, printFunction, depth + 1);
+                result += printout;
                 result += "</" + node.nodeName + ">";
             }
             else {
@@ -115,7 +116,7 @@ const printHtmlNode = (node, printFunction, depth) => {
 };
 exports.printHtmlNode = printHtmlNode;
 const cleanupHtmlNodeAttributes = (node, cleanupElementAttributes) => {
-    if (node.nodeType === node.ELEMENT_NODE) {
+    if (node.nodeType === constants_1.ELEMENT_NODE) {
         cleanupElementAttributes(node);
     }
     let child = node.firstChild;
@@ -128,8 +129,8 @@ exports.cleanupHtmlNodeAttributes = cleanupHtmlNodeAttributes;
 const pruneHtmlNode = (node, pruneElement) => {
     let toBeRemoved = false;
     switch (node.nodeType) {
-        case node.COMMENT_NODE:
-        case node.DOCUMENT_TYPE_NODE:
+        case constants_1.COMMENT_NODE:
+        case constants_1.DOCUMENT_TYPE_NODE:
             toBeRemoved = true;
             break;
         case node.TEXT_NODE: {
@@ -142,7 +143,7 @@ const pruneHtmlNode = (node, pruneElement) => {
             }
             break;
         }
-        case node.ELEMENT_NODE:
+        case constants_1.ELEMENT_NODE:
             toBeRemoved = pruneElement(node);
     }
     if (toBeRemoved) {
@@ -169,7 +170,7 @@ const escapeHtmlString = (string) => {
     let html = "";
     let index = 0;
     let lastIndex = 0;
-    for (let index = match.index; index < str.length; index++) {
+    for (index = match.index; index < str.length; index++) {
         switch (str.charCodeAt(index)) {
             case 34: // "
                 escape = "&quot;";
diff --git a/dist/HTMLNormalizer/strategies/common.js b/dist/HTMLNormalizer/strategies/common.js
index 26712527557f0086d98de0589865476de62f1739..edd79a771b6600a0a32672d8f98a20669303ea65 100644
--- a/dist/HTMLNormalizer/strategies/common.js
+++ b/dist/HTMLNormalizer/strategies/common.js
@@ -43,7 +43,7 @@ const pruneElement = (element) => {
 exports.pruneElement = pruneElement;
 const cloneAnchorFromPane = (a, pane) => {
     try {
-        const url = new URL(a.href);
+        const url = new URL(a.getAttribute("href"));
         // If this is external url
         if (url.host && url.protocol) {
             pane.parentNode.insertBefore(a.cloneNode(false), pane);
diff --git a/dist/HTMLNormalizer/strategies/gmail.js b/dist/HTMLNormalizer/strategies/gmail.js
index 2faccd189909c4df2d77cf6076fc104d8b180b15..d179dc21794aea0fc1eba35678477a9527928a22 100644
--- a/dist/HTMLNormalizer/strategies/gmail.js
+++ b/dist/HTMLNormalizer/strategies/gmail.js
@@ -13,8 +13,8 @@ const amendGmailNodes = (document) => {
      */
     const attachmentsPanes = Array.from(document.getElementsByClassName("gmail_chip"));
     attachmentsPanes.forEach((pane) => {
-        const as = pane.querySelectorAll("a");
-        as.forEach((a) => {
+        const as = pane.getElementsByTagName("a");
+        Array.from(as).forEach((a) => {
             common_1.cloneAnchorFromPane(a, pane);
         });
     });
diff --git a/dist/constants.d.ts b/dist/constants.d.ts
index 0fd8b9d434473f6c2a57db12f55e2af5c5591083..5ace58f155a0f1cd981a5bf5ae20be85e396f2e8 100644
--- a/dist/constants.d.ts
+++ b/dist/constants.d.ts
@@ -1,4 +1,6 @@
 export declare const ELEMENT_NODE = 1;
+export declare const COMMENT_NODE = 8;
+export declare const DOCUMENT_TYPE_NODE = 10;
 export declare const TEXT_NODE = 3;
 export declare const DOCUMENT_NODE = 9;
 export declare const EMAIL_VENDORS: {
diff --git a/dist/constants.js b/dist/constants.js
index 9b8e0062b3859dbec0dd886609504ddf805cbf61..a02993813e78f9f81adfd62f3ed96b5b2f3f9a06 100644
--- a/dist/constants.js
+++ b/dist/constants.js
@@ -1,7 +1,9 @@
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
-exports.EMAIL_VENDORS = exports.DOCUMENT_NODE = exports.TEXT_NODE = exports.ELEMENT_NODE = void 0;
+exports.EMAIL_VENDORS = exports.DOCUMENT_NODE = exports.TEXT_NODE = exports.DOCUMENT_TYPE_NODE = exports.COMMENT_NODE = exports.ELEMENT_NODE = void 0;
 exports.ELEMENT_NODE = 1;
+exports.COMMENT_NODE = 8;
+exports.DOCUMENT_TYPE_NODE = 10;
 exports.TEXT_NODE = 3;
 exports.DOCUMENT_NODE = 9;
 exports.EMAIL_VENDORS = {