diff --git a/app/components/SimpleEditor/Overlay.js b/app/components/SimpleEditor/Overlay.js
new file mode 100644
index 0000000000000000000000000000000000000000..697ddb61af5062defb434f62d3d565c3a39644de
--- /dev/null
+++ b/app/components/SimpleEditor/Overlay.js
@@ -0,0 +1,48 @@
+import { ProseEditorOverlayTools, documentHelpers } from 'substance'
+import { each, includes, keys } from 'lodash'
+
+class Overlay extends ProseEditorOverlayTools {
+  render ($$) {
+    const surface = this.getSurface()
+    const session = this.context.documentSession
+    const sel = session.getSelection()
+    const comment = documentHelpers.getPropertyAnnotationsForSelection(
+      session.getDocument(),
+      sel,
+      { type: 'commnent' }
+    )
+
+    if (surface && surface.props.canNotEdit && typeof comment[0] === 'undefined') {
+      const commandStates = this.context.commandManager.getCommandStates()
+      each(keys(commandStates), (key) => {
+        const allowed = ['comment', 'save']
+        if (!includes(allowed, key)) commandStates[key].disabled = true
+      })
+    }
+
+    let el = $$('div').addClass(this.getClassNames())
+    let activeTools = this.getActiveTools()
+
+    if (activeTools.length > 0) {
+      let toolsEl = $$('div').addClass('se-active-tools')
+      activeTools.forEach(tool => {
+        toolsEl.append(
+          $$(tool.Class, tool.toolProps).ref(tool.toolProps.name)
+        )
+      })
+      el.append(toolsEl)
+    }
+    return el
+  }
+
+  getSurface () {
+    const surfaceManager = this.context.surfaceManager
+    return surfaceManager.getSurface('body')
+  }
+
+  getClassNames () {
+    return 'sc-prose-editor-overlay-tools'
+  }
+}
+
+export default Overlay