diff --git a/wax-prosemirror-components/package.json b/wax-prosemirror-components/package.json
index aad9053e8b3d7f61707bf2aef86b52c0ed44860c..0c58cba6ae4b8553bcf1a63fe21f999e0228ff26 100644
--- a/wax-prosemirror-components/package.json
+++ b/wax-prosemirror-components/package.json
@@ -4,7 +4,7 @@
   "version": "0.0.13",
   "description": "Wax prosemirror UI components",
   "license": "MIT",
-  "main": "index.js",
+  "main": "dist/index.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1",
     "build": "BABEL_ENV=production rollup -c"
diff --git a/wax-prosemirror-core/package.json b/wax-prosemirror-core/package.json
index a344cd488f65ee8e745ab0e136eb9c6e388ff20d..1859f683f53ac351262b824d950a6d5b4ec3cca5 100644
--- a/wax-prosemirror-core/package.json
+++ b/wax-prosemirror-core/package.json
@@ -4,7 +4,7 @@
   "version": "0.0.13",
   "description": "Wax prosemirror core",
   "license": "MIT",
-  "main": "index.js",
+  "main": "dist/index.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1",
     "build": "BABEL_ENV=production rollup -c"
diff --git a/wax-prosemirror-layouts/package.json b/wax-prosemirror-layouts/package.json
index 07aa8505d5d0520fa03983d718720a2c410ea1e8..b970837d45569755e5bd79f76c284fc5eae325f3 100644
--- a/wax-prosemirror-layouts/package.json
+++ b/wax-prosemirror-layouts/package.json
@@ -4,7 +4,7 @@
   "version": "0.0.13",
   "description": "Wax prosemirror layouts",
   "license": "MIT",
-  "main": "index.js",
+  "main": "dist/index.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1",
     "build": "BABEL_ENV=production rollup -c"
diff --git a/wax-prosemirror-layouts/src/layouts/EditorElements.js b/wax-prosemirror-layouts/src/layouts/EditorElements.js
index 32cce8b5db0e6772ebd91f56ef73b1e1859bf930..24c5a1ea52eee6325c6dacf202cf4f10bc6f12f0 100644
--- a/wax-prosemirror-layouts/src/layouts/EditorElements.js
+++ b/wax-prosemirror-layouts/src/layouts/EditorElements.js
@@ -16,6 +16,16 @@ export default css`
     color: white;
   }
 
+  div[contenteditable='false'] {
+    -webkit-touch-callout: none;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+    pointer-events: none;
+  }
+
   .ProseMirror footnote {
     font-size: 0;
     display: inline-block;
@@ -177,6 +187,9 @@ export default css`
 
   span.insertion {
     color: blue;
+    footnote: {
+      background: blue;
+    }
   }
 
   .selected-insertion,
diff --git a/wax-prosemirror-plugins/package.json b/wax-prosemirror-plugins/package.json
index 3340795d9862f8e1e8218bdd03bbaf6f4a4dfac1..3fec8e90f09a043a21a7d7c391303723c62fbd44 100644
--- a/wax-prosemirror-plugins/package.json
+++ b/wax-prosemirror-plugins/package.json
@@ -4,7 +4,7 @@
   "version": "0.0.13",
   "description": "Wax prosemirror plugins",
   "license": "MIT",
-  "main": "index.js",
+  "main": "dist/index.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1",
     "build": "BABEL_ENV=production rollup -c"
diff --git a/wax-prosemirror-schema/package.json b/wax-prosemirror-schema/package.json
index 41892f0ec9ea72d6921b5b1a66ef200c0f4b3d9e..2338d05b30419e9fc9b2f1e4c6794d710c2a73fa 100644
--- a/wax-prosemirror-schema/package.json
+++ b/wax-prosemirror-schema/package.json
@@ -4,7 +4,7 @@
   "version": "0.0.13",
   "description": "Wax prosemirror schema",
   "license": "MIT",
-  "main": "index.js",
+  "main": "dist/index.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1",
     "build": "BABEL_ENV=production rollup -c"
diff --git a/wax-prosemirror-services/package.json b/wax-prosemirror-services/package.json
index b2326e6dc8478b3dfe6f5c3d5e697081c6e63e1a..ea041e3f4bea0ef6a5abc07508875b4749e00bf2 100644
--- a/wax-prosemirror-services/package.json
+++ b/wax-prosemirror-services/package.json
@@ -4,7 +4,7 @@
   "version": "0.0.13",
   "description": "Wax prosemirror services",
   "license": "MIT",
-  "main": "index.js",
+  "main": "dist/index.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1",
     "build": "BABEL_ENV=production rollup -c"
diff --git a/wax-prosemirror-services/src/NoteService/Editor.js b/wax-prosemirror-services/src/NoteService/Editor.js
index 035acd1b6fd43d212f6075d0f18b1c128db0c952..12cd2c22f49e6ca6beb83856f2398b9c4d94bd63 100644
--- a/wax-prosemirror-services/src/NoteService/Editor.js
+++ b/wax-prosemirror-services/src/NoteService/Editor.js
@@ -2,7 +2,7 @@
 import React, { useEffect, useRef, useContext } from 'react';
 import { filter } from 'lodash';
 import { EditorView } from 'prosemirror-view';
-import { EditorState } from 'prosemirror-state';
+import { EditorState, TextSelection } from 'prosemirror-state';
 import { StepMap } from 'prosemirror-transform';
 import { baseKeymap } from 'prosemirror-commands';
 import { keymap } from 'prosemirror-keymap';
diff --git a/wax-prosemirror-services/src/NoteService/NoteComponent.js b/wax-prosemirror-services/src/NoteService/NoteComponent.js
index 068e33c73cfd1dbf0204d7c19dc7511b0b3b25c6..e378c0536a23f9c382e7b47e657ead80e50591e6 100644
--- a/wax-prosemirror-services/src/NoteService/NoteComponent.js
+++ b/wax-prosemirror-services/src/NoteService/NoteComponent.js
@@ -1,37 +1,32 @@
-import React, {
-  useContext,
-  useState,
-  useEffect,
-  useMemo,
-  Fragment
-} from "react";
-import { WaxContext } from "wax-prosemirror-core";
-import { DocumentHelpers } from "wax-prosemirror-utilities";
-import NoteEditor from "./NoteEditor";
+import React, { useContext, useState, useMemo } from 'react';
+import useDeepCompareEffect from 'use-deep-compare-effect';
+
+import { WaxContext } from 'wax-prosemirror-core';
+import { DocumentHelpers } from 'wax-prosemirror-utilities';
+import NoteEditor from './NoteEditor';
 
 export default () => {
-  const { view: { main } } = useContext(WaxContext);
-  const [notes, setNotes] = useState([]);
-  useEffect(
-    () => {
-      setNotes(updateNotes(main));
-    },
+  const {
+    view: { main },
+  } = useContext(WaxContext);
 
-    [JSON.stringify(updateNotes(main))]
-  );
+  const [notes, setNotes] = useState([]);
+  useDeepCompareEffect(() => {
+    setNotes(updateNotes(main));
+  }, [updateNotes(main)]);
 
   const noteComponent = useMemo(
     () => <NoteEditor notes={notes} view={main} />,
-    [notes]
+    [notes],
   );
-  return <Fragment>{noteComponent}</Fragment>;
+  return <>{noteComponent}</>;
 };
 const updateNotes = view => {
   if (view) {
     return DocumentHelpers.findChildrenByType(
       view.state.doc,
       view.state.schema.nodes.footnote,
-      true
+      true,
     );
   }
   return [];
diff --git a/wax-prosemirror-services/src/NoteService/NoteEditor.js b/wax-prosemirror-services/src/NoteService/NoteEditor.js
index 7cf4f57522743738fe5b978de33cfbcc0dced83c..4641df66756a57f988e7fe6614680647daf3391b 100644
--- a/wax-prosemirror-services/src/NoteService/NoteEditor.js
+++ b/wax-prosemirror-services/src/NoteService/NoteEditor.js
@@ -1,12 +1,13 @@
-import React, { Fragment } from "react";
-import Editor from "./Editor";
+/* eslint react/prop-types: 0 */
+import React from 'react';
+import Editor from './Editor';
 
 export default ({ notes, view }) => {
   return (
-    <Fragment>
+    <>
       {notes.map(note => (
         <Editor key={note.node.attrs.id} node={note.node} view={view} />
       ))}
-    </Fragment>
+    </>
   );
 };
diff --git a/wax-prosemirror-services/src/NoteService/NoteService.js b/wax-prosemirror-services/src/NoteService/NoteService.js
index c28ca7ff8e2b6418b9424215bf051b2d8cf87687..db23620a2423b480b442f1754af90d763d738829 100644
--- a/wax-prosemirror-services/src/NoteService/NoteService.js
+++ b/wax-prosemirror-services/src/NoteService/NoteService.js
@@ -1,36 +1,37 @@
-import Service from "../Service";
-import { footNoteNode } from "wax-prosemirror-schema";
-import { CommentBubbleComponent } from "wax-prosemirror-components";
-import Note from "./Note";
-import NoteComponent from "./NoteComponent";
+import Service from '../Service';
+import { footNoteNode } from 'wax-prosemirror-schema';
+import { CommentBubbleComponent } from 'wax-prosemirror-components';
+import Note from './Note';
+import NoteComponent from './NoteComponent';
 
 class NoteService extends Service {
-  name = "NoteService";
+  name = 'NoteService';
 
   boot() {
-    const layout = this.container.get("Layout");
-    const createOverlay = this.container.get("CreateOverlay");
-    layout.addComponent("notesArea", NoteComponent);
+    const layout = this.container.get('Layout');
+    const createOverlay = this.container.get('CreateOverlay');
+    layout.addComponent('notesArea', NoteComponent);
+
     createOverlay(
       CommentBubbleComponent,
       {
-        showComment: activeViewId => activeViewId !== "main",
-        group: "notes"
+        showComment: activeViewId => activeViewId !== 'main',
+        group: 'notes',
       },
       {
-        markType: "",
+        markType: '',
         followCursor: false,
-        selection: true
-      }
+        selection: true,
+      },
     );
   }
 
   register() {
-    const createNode = this.container.get("CreateNode");
-    this.container.bind("Note").to(Note);
+    const createNode = this.container.get('CreateNode');
+    this.container.bind('Note').to(Note);
 
     createNode({
-      footnote: footNoteNode
+      footnote: footNoteNode,
     });
   }
 }
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markDeletion.js b/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markDeletion.js
index 2381142968674efd2444b06b097c4b365ef61aab..b577ad96901d871530d251d114aa92db034274cb 100644
--- a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markDeletion.js
+++ b/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markDeletion.js
@@ -19,7 +19,8 @@ const markDeletion = (tr, from, to, user, date, group) => {
       node.isInline &&
       node.marks.find(
         mark =>
-          mark.type.name === 'insertion' && mark.attrs.user === user.userId,
+          mark.type.name === 'insertion' &&
+          mark.attrs.user.toString() === user.userId.toString(),
       )
     ) {
       const removeStep = new ReplaceStep(
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceAroundStep.js b/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceAroundStep.js
index f83b25f67632f18ad8850e1825f3cef0538fa117..373ec42c13646e51f2094ec641b45519be3000ed 100644
--- a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceAroundStep.js
+++ b/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceAroundStep.js
@@ -1,6 +1,7 @@
 import markDeletion from './markDeletion';
 import markInsertion from './markInsertion';
 import markWrapping from './markWrapping';
+import { liftListItem } from 'prosemirror-schema-list';
 
 const replaceAroundStep = (
   state,
@@ -45,8 +46,8 @@ const replaceAroundStep = (
       );
     }
   } else {
-    console.log('to fix');
-    newTr.step(step);
+    console.log('to fix lift list item');
+    // newTr.step(step);
     const ranges = [
       {
         from: step.getMap().map(step.from, -1),
@@ -57,12 +58,18 @@ const replaceAroundStep = (
         to: step.getMap().map(step.to),
       },
     ];
+
     ranges.forEach(range =>
       doc.nodesBetween(range.from, range.to, (node, pos) => {
         if (pos < range.from) {
           return true;
         }
-        markInsertion(newTr, range.from, range.to, user, date);
+        liftListItem(node.type)(state, newTr => {
+          newTr.steps.forEach(step => {
+            tr.step(step);
+            map.appendMap(step.getMap());
+          });
+        });
       }),
     );
   }
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js b/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js
index 1e4e88eadb14558cffcb55af1f297b3ff58e97d2..ff0902f65c33988803dade2c73577acd43926349 100644
--- a/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js
+++ b/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js
@@ -27,7 +27,11 @@ const trackedTransaction = (tr, state, user) => {
   // images
   if (tr.meta.inputType === 'backwardsDelete' && !tr.steps.lenght) {
     const $pos = state.selection.$anchor;
-    if ($pos.depth === 1) return tr;
+    let node;
+    if ($pos.depth === 1) {
+      node = $pos.node($pos.depth);
+      if (node.content.content[0].type.name === 'image') return tr;
+    }
   }
 
   if (
diff --git a/wax-prosemirror-themes/package.json b/wax-prosemirror-themes/package.json
index d63550ca5b630d9c39c928c48d7100089cc02874..ec7374590202328ace9da078dfc15e8f5430e60b 100644
--- a/wax-prosemirror-themes/package.json
+++ b/wax-prosemirror-themes/package.json
@@ -4,7 +4,7 @@
   "version": "0.0.13",
   "description": "Wax prosemirror themes",
   "license": "MIT",
-  "main": "index.js",
+  "main": "dist/index.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1",
     "build": "BABEL_ENV=production rollup -c"
diff --git a/wax-prosemirror-utilities/package.json b/wax-prosemirror-utilities/package.json
index 28ea30ba3b99c93dfd1caf72c4d82210e17808e3..355d7156d7bb458290c84a67ae745ec1b7f87633 100644
--- a/wax-prosemirror-utilities/package.json
+++ b/wax-prosemirror-utilities/package.json
@@ -4,7 +4,7 @@
   "version": "0.0.13",
   "description": "Wax prosemirror utilities",
   "license": "MIT",
-  "main": "index.js",
+  "main": "dist/index.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1",
     "build": "BABEL_ENV=production rollup -c"