diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceNodeView.js b/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceNodeView.js
index 64d3c008a8965468bc48b5eeb31dd55158785397..4ed48b674107122fa0ef46ff63cc065e8a81dde9 100644
--- a/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceNodeView.js
+++ b/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceNodeView.js
@@ -1,46 +1,18 @@
 import { AbstractNodeView } from 'wax-prosemirror-services';
 
 export default class MultipleChoiceNodeView extends AbstractNodeView {
-  constructor(
-    node,
-    view,
-    getPos,
-    decorations,
-    createPortal,
-    Component,
-    context,
-  ) {
-    super(node, view, getPos, decorations, createPortal, Component, context);
-    this.node = node;
-    this.outerView = view;
-    this.getPos = getPos;
-    this.context = context;
-  }
+  // constructor(
+  //   node,
+  //   view,
+  //   getPos,
+  //   decorations,
+  //   createPortal,
+  //   Component,
+  //   context,
+  // ) {
+  //   super(node, view, getPos, decorations, createPortal, Component, context);
+  // }
   static name() {
     return 'multiple_choice';
   }
-
-  update(node) {
-    if (!node.sameMarkup(this.node)) return false;
-    this.node = node;
-    if (this.context.view[node.attrs.id]) {
-      let state = this.context.view[node.attrs.id].state;
-      let start = node.content.findDiffStart(state.doc.content);
-      if (start != null) {
-        let { a: endA, b: endB } = node.content.findDiffEnd(state.doc.content);
-        let overlap = start - Math.min(endA, endB);
-        if (overlap > 0) {
-          endA += overlap;
-          endB += overlap;
-        }
-        this.context.view[node.attrs.id].dispatch(
-          state.tr
-            .replace(start, endB, node.slice(start, endA))
-            .setMeta('fromOutside', true),
-        );
-      }
-    }
-
-    return true;
-  }
 }
diff --git a/wax-prosemirror-services/src/PortalService/AbstractNodeView.js b/wax-prosemirror-services/src/PortalService/AbstractNodeView.js
index 14d529f163f689269e530f7d1fc76b02feefc5e6..e06f76d88dbef6a1de4dc6ce7e64c4b2f27624cf 100644
--- a/wax-prosemirror-services/src/PortalService/AbstractNodeView.js
+++ b/wax-prosemirror-services/src/PortalService/AbstractNodeView.js
@@ -14,13 +14,36 @@ export default class AbstractNodeView {
 
     this.dom.id = uuidv4();
     this.dom.classList.add('portal');
+    this.node = node;
+    this.outerView = view;
+    this.getPos = getPos;
+    this.context = context;
 
     createPortal(this.dom, Component, node, view, getPos, decorations, context);
   }
 
   update(node) {
-    console.log('d;dld;ddld');
-    return false;
+    if (!node.sameMarkup(this.node)) return false;
+    this.node = node;
+    if (this.context.view[node.attrs.id]) {
+      const { state } = this.context.view[node.attrs.id];
+      const start = node.content.findDiffStart(state.doc.content);
+      if (start != null) {
+        let { a: endA, b: endB } = node.content.findDiffEnd(state.doc.content);
+        const overlap = start - Math.min(endA, endB);
+        if (overlap > 0) {
+          endA += overlap;
+          endB += overlap;
+        }
+        this.context.view[node.attrs.id].dispatch(
+          state.tr
+            .replace(start, endB, node.slice(start, endA))
+            .setMeta('fromOutside', true),
+        );
+      }
+    }
+
+    return true;
   }
 
   destroy() {