diff --git a/editors/editoria/src/Editoria.js b/editors/editoria/src/Editoria.js
index 78e16814bd68efc099e284860f5da7e26ed593a7..7551560bcc1945c0b4162442f6cffe4bc9389544 100644
--- a/editors/editoria/src/Editoria.js
+++ b/editors/editoria/src/Editoria.js
@@ -48,6 +48,7 @@ const Editoria = () => (
       autoFocus
       placeholder="Type Something..."
       fileUpload={file => renderImage(file)}
+      TrackChange
       value={
         '<p class="paragraph">this is some text <a href="www.sss.ff" >some</a> more</p>'
       }
diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js
index a327326039c6c21724366e5c42028321f32972c6..9d2ce10f9f21e706af628958faa0f916eaf81ebb 100644
--- a/wax-prosemirror-core/src/WaxView.js
+++ b/wax-prosemirror-core/src/WaxView.js
@@ -15,7 +15,7 @@ import trackedTransaction from "./track-changes/trackedTransaction";
 import { WaxContext } from "./ioc-react";
 
 export default props => {
-  const { readonly, onBlur, options, debug, autoFocus } = props;
+  const { readonly, onBlur, options, debug, autoFocus, user } = props;
   const editorRef = useRef();
 
   const context = useContext(WaxContext);
@@ -29,7 +29,7 @@ export default props => {
         dispatchTransaction: transaction => {
           const { TrackChange } = props;
           const tr = TrackChange
-            ? trackedTransaction(transaction, view.state, this)
+            ? trackedTransaction(transaction, view.state, user)
             : transaction;
 
           const state = view.state.apply(tr);
diff --git a/wax-prosemirror-core/src/track-changes/trackedTransaction.js b/wax-prosemirror-core/src/track-changes/trackedTransaction.js
index f171a0bfc5e704156dc1d493d6d1c31d1132c86e..e5fce432977fd581b2d10c80d4cbb6a7fec17ac0 100644
--- a/wax-prosemirror-core/src/track-changes/trackedTransaction.js
+++ b/wax-prosemirror-core/src/track-changes/trackedTransaction.js
@@ -13,7 +13,7 @@ import markDeletion from "./markDeletion";
 import markInsertion from "./markInsertion";
 import markWrapping from "./markWrapping";
 
-const trackedTransaction = (tr, state, editor) => {
+const trackedTransaction = (tr, state, currentUser) => {
   if (
     !tr.steps.length ||
     (tr.meta &&
@@ -25,7 +25,7 @@ const trackedTransaction = (tr, state, editor) => {
   ) {
     return tr;
   }
-  const user = editor.props.user.userId,
+  const user = currentUser.userId,
     approved = false,
     // !editor.view.state.doc.firstChild.attrs.tracked &&
     // editor.docInfo.access_rights !== "write-tracked",
@@ -34,7 +34,7 @@ const trackedTransaction = (tr, state, editor) => {
     exactDate = Date.now(),
     date10 = Math.floor(exactDate / 600000) * 10, // 10 minute interval
     date1 = Math.floor(exactDate / 60000), // 1 minute interval
-    username = editor.props.user.username,
+    username = currentUser.username,
     // We only insert content if this is not directly a tr for cell deletion. This is because tables delete rows by deleting the
     // contents of each cell and replacing it with an empty paragraph.
     cellDeleteTr =
@@ -48,6 +48,7 @@ const trackedTransaction = (tr, state, editor) => {
     if (!step) {
       return;
     }
+
     if (step instanceof ReplaceStep) {
       const newStep = approved
         ? step
@@ -66,6 +67,7 @@ const trackedTransaction = (tr, state, editor) => {
         if (trTemp.maybeStep(newStep).failed) {
           return;
         }
+
         const mappedNewStepTo = newStep.getMap().map(newStep.to);
         markInsertion(
           trTemp,
diff --git a/wax-prosemirror-services/src/LinkService/LinkTool.js b/wax-prosemirror-services/src/LinkService/LinkTool.js
index 2a7888e0c4b5b4deab21fbe2226c96b5e27adf09..6a02fde44b4cf229024debe223a61088c0e060cc 100644
--- a/wax-prosemirror-services/src/LinkService/LinkTool.js
+++ b/wax-prosemirror-services/src/LinkService/LinkTool.js
@@ -1,5 +1,5 @@
 import { toggleMark } from "prosemirror-commands";
-import { markActive, promptForURL } from "../lib/Utils";
+import { markActive } from "../lib/Utils";
 import Tools from "../lib/Tools";
 import { injectable } from "inversify";
 import { icons } from "wax-prosemirror-components";
diff --git a/wax-prosemirror-services/src/lib/ToolGroup.js b/wax-prosemirror-services/src/lib/ToolGroup.js
index 1340e666f8fbfa0e1ae2f9bc57302b2fde3060ea..93ae0ef7d02058e2baafda4730a26e676b76227d 100644
--- a/wax-prosemirror-services/src/lib/ToolGroup.js
+++ b/wax-prosemirror-services/src/lib/ToolGroup.js
@@ -1,6 +1,7 @@
 import React, { useState } from "react";
 import { injectable } from "inversify";
 import { isFunction } from "lodash";
+
 @injectable()
 export default class ToolGroup {
   _config = {};
diff --git a/wax-prosemirror-services/src/lib/Utils.js b/wax-prosemirror-services/src/lib/Utils.js
index ba2fcf3e5763d746fac41b6577f9e674a88d6312..a686d1b86f05b9578ecb820f67940b52364caf3a 100644
--- a/wax-prosemirror-services/src/lib/Utils.js
+++ b/wax-prosemirror-services/src/lib/Utils.js
@@ -53,16 +53,6 @@ const getMarkPosition = ($start, mark) => {
   return { from: startPos, to: endPos };
 };
 
-const promptForURL = () => {
-  let url = window && window.prompt("Enter the URL", "https://");
-
-  if (url && !/^https?:\/\//i.test(url)) {
-    url = "http://" + url;
-  }
-
-  return url;
-};
-
 const createTable = (state, dispatch) => {
   let rowCount = window && window.prompt("How many rows?", 2);
   let colCount = window && window.prompt("How many columns?", 2);
@@ -81,11 +71,4 @@ const createTable = (state, dispatch) => {
   dispatch(state.tr.replaceSelectionWith(table));
 };
 
-export {
-  markActive,
-  blockActive,
-  canInsert,
-  promptForURL,
-  createTable,
-  getMarkPosition
-};
+export { markActive, blockActive, canInsert, createTable, getMarkPosition };