diff --git a/__tests__/outlook-outlook.test.ts b/__tests__/outlook-outlook.test.ts
index b74e5109d7cb8b2d5bf6360c6b7205c077905656..e449e1a2a2bbb4fb6bf018f55c177501c0ff0932 100644
--- a/__tests__/outlook-outlook.test.ts
+++ b/__tests__/outlook-outlook.test.ts
@@ -18,7 +18,7 @@ const getTestCasesDirs = (testCasesPath: string) => {
     return fs.statSync(testCasesPath + "/" + file).isDirectory();
   });
 };
-
+console.debug = () => {}
 const getNormalizedHtml = (
   testCasePath: string
 ): {
@@ -61,7 +61,7 @@ describe("Outlook emails HTML normalization", () => {
       try {
         normalizedHtmls = getNormalizedHtml(testCasePath);
       } catch (e) {
-        console.log("Invalid test case: " + dirName);
+        console.log(`Invalid test case: ${casesName}/${dirName}`);
         return;
       }
 
@@ -75,7 +75,9 @@ describe("Outlook emails HTML normalization", () => {
 
   describe("Emails Chrome", describeTestCases("chrome"));
   describe("Emails Edge", describeTestCases("edge"));
-  //describe("Emails Gmail", describeTestCases("gmail"));
+  describe("Emails Safari", describeTestCases("safari"));
+  // describe("Emails MacOS", describeTestCases("macos"));
+  // describe("Emails Windows", describeTestCases("windows"));
 
   // it("Emails Edge", () => {
   // })
diff --git a/src/HTMLNormalizer/strategies/common.ts b/src/HTMLNormalizer/strategies/common.ts
index d35e7cb6936d581db1a01adea6592fdaf3063035..74476ace7f8d32f422048e605906d3338359b4dd 100644
--- a/src/HTMLNormalizer/strategies/common.ts
+++ b/src/HTMLNormalizer/strategies/common.ts
@@ -1,6 +1,6 @@
 const DUMMY_QR_CODE_ID = "dummyQrCode";
 
-export const ELEMENT_TYPES_TO_REMOVE = { br: true, hr: true };
+export const ELEMENT_TYPES_TO_REMOVE = { br: true, hr: true, use: true, svg: true };
 
 export const ATTRIBUTES_TO_KEEP = {
   alt: true,
diff --git a/src/HTMLNormalizer/strategies/outlook.ts b/src/HTMLNormalizer/strategies/outlook.ts
index 84d66308a5df4d67f07cfcd39030ed98a2af1fed..4dea0d7f38f732f8419c0bb58006d41775d47200 100644
--- a/src/HTMLNormalizer/strategies/outlook.ts
+++ b/src/HTMLNormalizer/strategies/outlook.ts
@@ -32,11 +32,31 @@ export const amendOutlookNodes = (document: HTMLDocument): void => {
   /**
    * Remove quoted text
    */
-  const appendOnSendNode = document.querySelector(
+
+  // Quoted text in web apps
+  const appendOnSend = document.querySelector(
     "[id*='appendonsend']"
   ) as Node;
-  if (appendOnSendNode) {
-    let child = appendOnSendNode;
+
+  if (appendOnSend) {
+    let child = appendOnSend;
+    while (child) {
+      const nextSibling = child.nextSibling;
+      child.parentNode.removeChild(child);
+      child = nextSibling as Node;
+    }
+  }
+
+  // Quoted text in desktop apps
+  const mailOriginal = document.querySelector("[name*='_MailOriginal']") as Node;
+  if (mailOriginal) {
+    const separatorCandidate = mailOriginal.parentNode as Node;
+
+    // while (!(separatorCandidate.parentNode as Element).classList.contains("WordSection1")) {
+    //   separatorCandidate = separatorCandidate.parentNode;
+    // }
+
+    let child = separatorCandidate;
     while (child) {
       const nextSibling = child.nextSibling;
       child.parentNode.removeChild(child);
@@ -47,20 +67,20 @@ export const amendOutlookNodes = (document: HTMLDocument): void => {
   /**
    * Get rid of attachments panes
    */
-  const attachmentsPanesConatiner = document.getElementById(
+  const attachmentsPanesContainer = document.getElementById(
     "OwaReferenceAttachments"
   );
   const attachmentsPanesContainerEnd = document.getElementById(
     "OwaReferenceAttachmentsEnd"
   );
 
-  if (attachmentsPanesConatiner) {
-    const as = attachmentsPanesConatiner.getElementsByTagName("a");
+  if (attachmentsPanesContainer) {
+    const as = attachmentsPanesContainer.getElementsByTagName("a");
     Array.from(as).forEach((a) => {
-      cloneAnchorFromPane(a, attachmentsPanesConatiner as HTMLElement);
+      cloneAnchorFromPane(a, attachmentsPanesContainer as HTMLElement);
     });
 
-    attachmentsPanesConatiner.parentNode.removeChild(attachmentsPanesConatiner);
+    attachmentsPanesContainer.parentNode.removeChild(attachmentsPanesContainer);
   }
 
   attachmentsPanesContainerEnd &&