diff --git a/.nvmrc b/.nvmrc
index 47c0a98a11314d27bd0664b4f113b855d9ec991e..3caeb5f170592a1978528f923bb47cb9b8e1a75e 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-12.13.0
+14.15.5
diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js
index 900ce4f33e54ac85a433ab61a521c84329abc1a3..327f206cc9a8115303663ad271bce7ef892ac342 100644
--- a/wax-prosemirror-core/src/WaxView.js
+++ b/wax-prosemirror-core/src/WaxView.js
@@ -14,7 +14,7 @@ import styled from 'styled-components';
 import applyDevTools from 'prosemirror-dev-tools';
 import { EditorState } from 'prosemirror-state';
 import { EditorView } from 'prosemirror-view';
-// import { trackedTransaction } from 'wax-prosemirror-services';
+import trackedTransaction from './utilities/track-changes/trackedTransaction';
 import { WaxContext } from './WaxContext';
 import { PortalContext } from './PortalContext';
 import ComponentPlugin from './ComponentPlugin';
@@ -130,11 +130,10 @@ const WaxView = forwardRef((props, ref) => {
 
   const dispatchTransaction = transaction => {
     const { TrackChange } = props;
-    const tr = transaction;
-    // const tr =
-    //   TrackChange && TrackChange.enabled
-    //     ? trackedTransaction(transaction, view.state, user)
-    //     : transaction;
+    const tr =
+      TrackChange && TrackChange.enabled
+        ? trackedTransaction(transaction, view.state, user)
+        : transaction;
 
     previousDoc = view.state.doc;
     const state = view.state.apply(tr);
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/LICENCE b/wax-prosemirror-core/src/utilities/track-changes/LICENCE
similarity index 100%
rename from wax-prosemirror-services/src/TrackChangeService/track-changes/LICENCE
rename to wax-prosemirror-core/src/utilities/track-changes/LICENCE
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/addMarkStep.js b/wax-prosemirror-core/src/utilities/track-changes/helpers/addMarkStep.js
similarity index 100%
rename from wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/addMarkStep.js
rename to wax-prosemirror-core/src/utilities/track-changes/helpers/addMarkStep.js
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markDeletion.js b/wax-prosemirror-core/src/utilities/track-changes/helpers/markDeletion.js
similarity index 100%
rename from wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markDeletion.js
rename to wax-prosemirror-core/src/utilities/track-changes/helpers/markDeletion.js
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markInsertion.js b/wax-prosemirror-core/src/utilities/track-changes/helpers/markInsertion.js
similarity index 100%
rename from wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markInsertion.js
rename to wax-prosemirror-core/src/utilities/track-changes/helpers/markInsertion.js
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markWrapping.js b/wax-prosemirror-core/src/utilities/track-changes/helpers/markWrapping.js
similarity index 100%
rename from wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markWrapping.js
rename to wax-prosemirror-core/src/utilities/track-changes/helpers/markWrapping.js
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/removeMarkStep.js b/wax-prosemirror-core/src/utilities/track-changes/helpers/removeMarkStep.js
similarity index 100%
rename from wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/removeMarkStep.js
rename to wax-prosemirror-core/src/utilities/track-changes/helpers/removeMarkStep.js
diff --git a/wax-prosemirror-core/src/utilities/track-changes/helpers/removeNode.js b/wax-prosemirror-core/src/utilities/track-changes/helpers/removeNode.js
new file mode 100644
index 0000000000000000000000000000000000000000..c698e47c2ef9c4ec4ba8ce83db491a7c34d35c3c
--- /dev/null
+++ b/wax-prosemirror-core/src/utilities/track-changes/helpers/removeNode.js
@@ -0,0 +1,17 @@
+import { replaceStep } from 'prosemirror-transform';
+import { Selection } from 'prosemirror-state';
+
+const removeNode = (tr, node, nodePos, map) => {
+  const newNodePos = map.map(nodePos);
+  const selectionBefore = Selection.findFrom(tr.doc.resolve(newNodePos), -1);
+  const start = selectionBefore.$anchor.pos;
+  const end = newNodePos + 1;
+
+  const delStep = replaceStep(tr.doc, start, end);
+
+  tr.step(delStep);
+  const stepMap = delStep.getMap();
+  map.appendMap(stepMap);
+};
+
+export default removeNode;
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceAroundStep.js b/wax-prosemirror-core/src/utilities/track-changes/helpers/replaceAroundStep.js
similarity index 97%
rename from wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceAroundStep.js
rename to wax-prosemirror-core/src/utilities/track-changes/helpers/replaceAroundStep.js
index 3f7755729f8f001d2bfc5628aa890d67d995766a..db8f7c2f14da9af34168a243dc6b2c7a1f1dc95a 100644
--- a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceAroundStep.js
+++ b/wax-prosemirror-core/src/utilities/track-changes/helpers/replaceAroundStep.js
@@ -1,4 +1,3 @@
-import { liftListItem } from 'prosemirror-schema-list';
 import markDeletion from './markDeletion';
 import markInsertion from './markInsertion';
 import markWrapping from './markWrapping';
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceStep.js b/wax-prosemirror-core/src/utilities/track-changes/helpers/replaceStep.js
similarity index 96%
rename from wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceStep.js
rename to wax-prosemirror-core/src/utilities/track-changes/helpers/replaceStep.js
index 3a04efcdbe93fd4c66ee47baa2e6d3d7a94dafca..e26da3edccd2761869525cd14903bad7c937d532 100644
--- a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/replaceStep.js
+++ b/wax-prosemirror-core/src/utilities/track-changes/helpers/replaceStep.js
@@ -1,5 +1,5 @@
 import { ReplaceStep } from 'prosemirror-transform';
-import { DocumentHelpers } from 'wax-prosemirror-core';
+import DocumentHelpers from '../../document/DocumentHelpers';
 
 import markDeletion from './markDeletion';
 import markInsertion from './markInsertion';
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js b/wax-prosemirror-core/src/utilities/track-changes/trackedTransaction.js
similarity index 98%
rename from wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js
rename to wax-prosemirror-core/src/utilities/track-changes/trackedTransaction.js
index 63cad26d5811d88045f10850f453804326b473d5..fcb0c961394ba129f034d6dbb227bed374f9a77b 100644
--- a/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js
+++ b/wax-prosemirror-core/src/utilities/track-changes/trackedTransaction.js
@@ -7,7 +7,7 @@ import {
   Mapping,
 } from 'prosemirror-transform';
 
-import { DocumentHelpers } from 'wax-prosemirror-core';
+import DocumentHelpers from '../document/DocumentHelpers';
 import replaceStep from './helpers/replaceStep';
 import replaceAroundStep from './helpers/replaceAroundStep';
 import addMarkStep from './helpers/addMarkStep';
diff --git a/wax-prosemirror-services/index.js b/wax-prosemirror-services/index.js
index a2121f85a32b0a00cedb01bdfaf32e7c91825da0..e9a7cda058b1b6bf701d9d3a49139b5f1d6b0210 100644
--- a/wax-prosemirror-services/index.js
+++ b/wax-prosemirror-services/index.js
@@ -13,7 +13,6 @@ export { default as CommentsService } from './src/CommentsService/CommentsServic
 export { default as CodeBlockService } from './src/CodeBlockService/CodeBlockService';
 export { default as LinkService } from './src/LinkService/LinkService';
 export { default as TrackChangeService } from './src/TrackChangeService/TrackChangeService';
-export { default as trackedTransaction } from './src/TrackChangeService/track-changes/trackedTransaction';
 export { default as MathService } from './src/MathService/MathService';
 export { default as FindAndReplaceService } from './src/FindAndReplaceService/FindAndReplaceService';
 export { default as FullScreenService } from './src/FullScreenService/FullScreenService';
diff --git a/wax-prosemirror-services/src/FillTheGapQuestionService/components/FeedbackComponent.js b/wax-prosemirror-services/src/FillTheGapQuestionService/components/FeedbackComponent.js
index ea29271ed9c6c79eca1b47aeeaf3d0f90d786374..fd7cf39bc2bfff29e5a78202235c7364543a71a7 100644
--- a/wax-prosemirror-services/src/FillTheGapQuestionService/components/FeedbackComponent.js
+++ b/wax-prosemirror-services/src/FillTheGapQuestionService/components/FeedbackComponent.js
@@ -46,7 +46,7 @@ export default ({ node, view, getPos, readOnly }) => {
         main.dispatch(
           main.state.tr.setNodeMarkup(getPos(), undefined, {
             ...singleNode.node.attrs,
-            feedback: feedBack,
+            feedback: feedBackRef.current.value,
           }),
         );
       }
diff --git a/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js b/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js
index 943007968dd3632acc4aa3deb2aec7e530013030..6af737464603193a5df26d5500f68de3f0a8c9f0 100644
--- a/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js
+++ b/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js
@@ -41,6 +41,14 @@ export default class BulletList extends Tools {
     const { disallowedTools } = activeView.props;
     if (disallowedTools.includes('Lists')) status = false;
 
+    // Disable lists first in questions
+    if (
+      activeViewId !== 'main' &&
+      activeView.state.selection.$from.start(1) === 1
+    ) {
+      status = false;
+    }
+
     return status;
   };
 
diff --git a/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js b/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js
index 7a7bb38ef9960279cbfd5bffbaa51ea7fd434159..79c2788e8551b9c184cc72a5065f6f5437bfba40 100644
--- a/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js
+++ b/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js
@@ -38,6 +38,15 @@ export default class OrderedList extends Tools {
     if (from === null) return false;
     const { disallowedTools } = activeView.props;
     if (disallowedTools.includes('Lists')) status = false;
+
+    // Disable lists first in questions
+    if (
+      activeViewId !== 'main' &&
+      activeView.state.selection.$from.start(1) === 1
+    ) {
+      status = false;
+    }
+
     return status;
   };
 
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/FeedbackComponent.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/FeedbackComponent.js
index 13db32f60aee471a275ef360644e2a8074d82b02..6a289b04554e9296bfa600b0f702baca01a0a4e9 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/FeedbackComponent.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/FeedbackComponent.js
@@ -45,7 +45,7 @@ export default ({ node, view, getPos, readOnly }) => {
         main.dispatch(
           main.state.tr.setNodeMarkup(getPos(), undefined, {
             ...singleNode.node.attrs,
-            feedback: feedBack,
+            feedback: feedBackRef.current.value,
           }),
         );
       }
diff --git a/wax-prosemirror-services/src/MultipleDropDownService/components/FeedbackComponent.js b/wax-prosemirror-services/src/MultipleDropDownService/components/FeedbackComponent.js
index f921e2c9c9751ed6879609e733d8255515ec958c..92c510744d181fdaa5d546096e16d2f684a1478f 100644
--- a/wax-prosemirror-services/src/MultipleDropDownService/components/FeedbackComponent.js
+++ b/wax-prosemirror-services/src/MultipleDropDownService/components/FeedbackComponent.js
@@ -46,7 +46,7 @@ export default ({ node, view, getPos, readOnly }) => {
         main.dispatch(
           main.state.tr.setNodeMarkup(getPos(), undefined, {
             ...singleNode.node.attrs,
-            feedback: feedBack,
+            feedback: feedBackRef.current.value,
           }),
         );
       }
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/README.md b/wax-prosemirror-services/src/TrackChangeService/track-changes/README.md
deleted file mode 100644
index 93647423f45206782dcabb533338aad3ee024912..0000000000000000000000000000000000000000
--- a/wax-prosemirror-services/src/TrackChangeService/track-changes/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-This belongs to https://github.com/fiduswriter/fiduswriter
-This is a modified version of: https://github.com/fiduswriter/fiduswriter/blob/develop/fiduswriter/document/static/js/modules/editor/track/amend_transaction.js
-License included.