diff --git a/wax-prosemirror-schema/src/nodes/imageNode.js b/wax-prosemirror-schema/src/nodes/imageNode.js
index 9f5d51daae462dcbe1beb74fc35ef4bfe433411b..0e8fe0d9f35e5ff2ba8320cef178637fffa56bb7 100644
--- a/wax-prosemirror-schema/src/nodes/imageNode.js
+++ b/wax-prosemirror-schema/src/nodes/imageNode.js
@@ -1,3 +1,4 @@
+import { SchemaHelpers } from 'wax-prosemirror-utilities';
 const image = {
   inline: true,
   attrs: {
@@ -15,7 +16,8 @@ const image = {
         Object.assign(hook, {
           src: hook.dom.getAttribute('src'),
           title: hook.dom.getAttribute('title'),
-          // track: parseTracks(hook.dom.dataset.track),
+          id: hook.dom.dataset.id,
+          track: SchemaHelpers.parseTracks(hook.dom.dataset.track),
           alt: hook.dom.getAttribute('alt'),
         });
         next();
@@ -25,11 +27,15 @@ const image = {
   toDOM(hook, next) {
     const attrs = {};
     let temp = '';
-    // if (hook.node.attrs.track.length) {
-    //   // attrs["data-track"] = JSON.stringify(hook.node.attrs.track);
-    // }
-    const { src, alt, title } = hook.node.attrs;
-    hook.value = ['img', { src, alt, title }];
+    if (hook.node.attrs.track.length) {
+      attrs['data-track'] = JSON.stringify(hook.node.attrs.track);
+      attrs['data-id'] = hook.node.attrs.id;
+    }
+    const { src, alt, title, id, track } = hook.node.attrs;
+    hook.value = [
+      'img',
+      { src, alt, title, 'data-id': id, 'data-track': track },
+    ];
     next();
   },
 };
diff --git a/wax-prosemirror-services/src/ShortCutsService/ShortCuts.js b/wax-prosemirror-services/src/ShortCutsService/ShortCuts.js
index 836ae6d086a9b9b8949308fb8f2ccaedf260c23f..d76b901df9ef37d809dcd1146a912a3356c3d390 100644
--- a/wax-prosemirror-services/src/ShortCutsService/ShortCuts.js
+++ b/wax-prosemirror-services/src/ShortCutsService/ShortCuts.js
@@ -28,7 +28,7 @@ const backSpace = chainCommands(
 const backSpaceShortCut = (state, dispatch, view) =>
   backSpace(
     state,
-    tr => dispatch(tr.setMeta('inputType', 'deleteContentBackward')),
+    tr => dispatch(tr.setMeta('inputType', 'backwardsDelete')),
     view,
   );
 
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceStep.js b/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceStep.js
index f665bf1c5063f0aa2dddc21f1d6b484c0b91b730..14c0bcede636709fb323b1ef6f2f8bd5df72edae 100644
--- a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceStep.js
+++ b/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceStep.js
@@ -1,14 +1,14 @@
-import { ReplaceStep } from "prosemirror-transform";
-import { CellSelection } from "prosemirror-tables";
-import { DocumentHelpers } from "wax-prosemirror-utilities";
+import { ReplaceStep } from 'prosemirror-transform';
+import { CellSelection } from 'prosemirror-tables';
+import { DocumentHelpers } from 'wax-prosemirror-utilities';
 
-import markDeletion from "./markDeletion";
-import markInsertion from "./markInsertion";
+import markDeletion from './markDeletion';
+import markInsertion from './markInsertion';
 
 const replaceStep = (state, tr, step, newTr, map, doc, user, date, group) => {
   const cellDeleteTr =
-    ["deleteContentBackward", "deleteContentForward"].includes(
-      tr.getMeta("inputType")
+    ['backwardsDelete', 'deleteContentForward'].includes(
+      tr.getMeta('inputType'),
     ) && state.selection instanceof CellSelection;
 
   // if deletion mark move to the end of deletion
@@ -16,7 +16,7 @@ const replaceStep = (state, tr, step, newTr, map, doc, user, date, group) => {
   const deletionMark = DocumentHelpers.findMark(
     state,
     deletionMarkSchema,
-    false
+    false,
   );
   const positionTo = deletionMark ? deletionMark.to : step.to;
 
@@ -25,7 +25,7 @@ const replaceStep = (state, tr, step, newTr, map, doc, user, date, group) => {
         positionTo, // We insert all the same steps, but with "from"/"to" both set to "to" in order not to delete content. Mapped as needed.
         positionTo,
         step.slice,
-        step.structure
+        step.structure,
       )
     : false;
 
@@ -43,7 +43,7 @@ const replaceStep = (state, tr, step, newTr, map, doc, user, date, group) => {
     const condensedStep = new ReplaceStep(
       newStep.from,
       newStep.to,
-      trTemp.doc.slice(newStep.from, mappedNewStepTo)
+      trTemp.doc.slice(newStep.from, mappedNewStepTo),
     );
 
     newTr.step(condensedStep);
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js b/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js
index bd697c1396fe2a50db04bd2ba5a32b3633e0c77f..ea731578fc2c933d25fceb97604e3c207c258d16 100644
--- a/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js
+++ b/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js
@@ -24,6 +24,8 @@ const trackedTransaction = (tr, state, user) => {
       }
     }
   }
+  // images
+  if (tr.meta.inputType === 'backwardsDelete' && !tr.steps.lenght) return tr;
 
   if (
     !tr.steps.length ||
@@ -82,7 +84,7 @@ const trackedTransaction = (tr, state, user) => {
     if (
       tr.selection instanceof TextSelection &&
       (tr.selection.from < state.selection.from ||
-        tr.getMeta('inputType') === 'deleteContentBackward')
+        tr.getMeta('inputType') === 'backwardsDelete')
     ) {
       const caretPos = map.map(tr.selection.from, -1);
       newTr.setSelection(new TextSelection(newTr.doc.resolve(caretPos)));