diff --git a/editors/demo/src/Editors.js b/editors/demo/src/Editors.js
index abd0628fb70695fdd171c22a2956784070ef3345..d19991a2ed8613a7f85ed0fed95a7dc6ef294736 100644
--- a/editors/demo/src/Editors.js
+++ b/editors/demo/src/Editors.js
@@ -70,7 +70,7 @@ const Editors = () => {
       case 'ncbi':
         return <NCBI />;
       default:
-        return <Editoria />;
+        return <HHMI />;
     }
   };
 
diff --git a/wax-prosemirror-services/src/EssayService/EssayQuestion.js b/wax-prosemirror-services/src/EssayService/EssayQuestion.js
index a02f7931a60feec6c230fe8eac0a5fd24c5b1dee..aca581aab47125ba3d08194ae287ee5b8d5a4098 100644
--- a/wax-prosemirror-services/src/EssayService/EssayQuestion.js
+++ b/wax-prosemirror-services/src/EssayService/EssayQuestion.js
@@ -1,5 +1,6 @@
 import { injectable } from 'inversify';
 import { wrapIn } from 'prosemirror-commands';
+import { v4 as uuidv4 } from 'uuid';
 import Tools from '../lib/Tools';
 
 @injectable()
@@ -11,7 +12,9 @@ class EssayQuestion extends Tools {
 
   get run() {
     return (state, dispatch) => {
-      wrapIn(state.config.schema.nodes.essay)(state, dispatch);
+      wrapIn(state.config.schema.nodes.essay, {
+        id: uuidv4(),
+      })(state, dispatch);
     };
   }
 
diff --git a/wax-prosemirror-services/src/EssayService/components/EditorComponent.js b/wax-prosemirror-services/src/EssayService/components/EditorComponent.js
index 6a3fbc010aa60770e48b2bc4624845620c29dd34..90f48a3c22d441c923036c0c58bab2e199f5b566 100644
--- a/wax-prosemirror-services/src/EssayService/components/EditorComponent.js
+++ b/wax-prosemirror-services/src/EssayService/components/EditorComponent.js
@@ -45,6 +45,7 @@ const EditorComponent = ({ node, view, getPos }) => {
   const editorRef = useRef();
 
   const context = useContext(WaxContext);
+  const { activeViewId } = context;
   let questionView;
   const questionId = node.attrs.id;
   const isEditable = context.view.main.props.editable(editable => {
@@ -98,21 +99,14 @@ const EditorComponent = ({ node, view, getPos }) => {
         disallowedTools: ['Images', 'Lists', 'lift', 'MultipleChoice'],
         handleDOMEvents: {
           mousedown: () => {
-            context.view.main.dispatch(
-              context.view.main.state.tr.setSelection(
-                new TextSelection(
-                  context.view.main.state.tr.doc.resolve(getPos() + 2),
+            context.view[activeViewId].dispatch(
+              context.view[activeViewId].state.tr.setSelection(
+                TextSelection.between(
+                  context.view[activeViewId].state.selection.$anchor,
+                  context.view[activeViewId].state.selection.$head,
                 ),
               ),
             );
-            // context.view[activeViewId].dispatch(
-            //   context.view[activeViewId].state.tr.setSelection(
-            //     TextSelection.between(
-            //       context.view[activeViewId].state.selection.$anchor,
-            //       context.view[activeViewId].state.selection.$head,
-            //     ),
-            //   ),
-            // );
             context.updateView({}, questionId);
             // Kludge to prevent issues due to the fact that the whole
             // footnote is node-selected (and thus DOM-selected) when
diff --git a/wax-prosemirror-services/src/EssayService/components/EssayComponent.js b/wax-prosemirror-services/src/EssayService/components/EssayComponent.js
index ace6f2e9102c7c4a199ffca60051ea4866828b2a..efc17d00e85d22f08872143943820c9a7851260f 100644
--- a/wax-prosemirror-services/src/EssayService/components/EssayComponent.js
+++ b/wax-prosemirror-services/src/EssayService/components/EssayComponent.js
@@ -1,5 +1,7 @@
+/* eslint-disable react/prop-types */
 import React from 'react';
+import EditorComponent from './EditorComponent';
 
 export default ({ node, view, getPos }) => {
-  return <span>Essay</span>;
+  return <EditorComponent getPos={getPos} node={node} view={view} />;
 };
diff --git a/wax-prosemirror-services/src/EssayService/schema/essayNode.js b/wax-prosemirror-services/src/EssayService/schema/essayNode.js
index e87a69822768f84d6e8778651db9e39c62e85482..257009cb8529d99fd27c39343e60894a054f5890 100644
--- a/wax-prosemirror-services/src/EssayService/schema/essayNode.js
+++ b/wax-prosemirror-services/src/EssayService/schema/essayNode.js
@@ -1,9 +1,9 @@
 const essayNode = {
   attrs: {
     class: { default: 'essay' },
+    id: { default: '' },
   },
   group: 'block questions',
-  atom: true,
   selectable: true,
   draggable: true,
   content: 'block+',