diff --git a/app/components/SimpleEditor/Editor.js b/app/components/SimpleEditor/Editor.js
index 5af3e2e6fff9ccbbdb55d8bd51f343632105dc97..e5a43a5a561512f2b6979b78601731dbbd1b6cfb 100644
--- a/app/components/SimpleEditor/Editor.js
+++ b/app/components/SimpleEditor/Editor.js
@@ -71,7 +71,7 @@ class Editor extends ProseEditor {
     let ContextMenu = this.componentRegistry.get('context-menu') // new what does it do?
     // let Dropzones = this.componentRegistry.get('dropzones') // new what does it do?
 
-    const footerNotes = $$(Notes)
+    const footerNotes = $$(Notes).ref('footer-notes')
 
     const props = {
       book: this.props.book,
diff --git a/app/components/SimpleEditor/config.js b/app/components/SimpleEditor/config.js
index 7d12ff75a1c7c612e198d40e52ef085e2e0e157f..bceffa57d5da1f0c2b3faf9dafca84bf85cc3b74 100644
--- a/app/components/SimpleEditor/config.js
+++ b/app/components/SimpleEditor/config.js
@@ -59,7 +59,7 @@ const config = {
     config.import(SourceNotePackage)
     config.import(SpellCheckPackage)
     config.import(TrackChangePackage)
-    config.import(IsolatedNotePackage)
+    // config.import(IsolatedNotePackage)
   }
 }
 
diff --git a/app/components/SimpleEditor/elements/note/NoteCommand.js b/app/components/SimpleEditor/elements/note/NoteCommand.js
index 88f7bd9bbd9232ee0f266078212f737f1c5ae3b3..c29dfbf1eee5ce91099dd6b494aeb23800f44d0e 100644
--- a/app/components/SimpleEditor/elements/note/NoteCommand.js
+++ b/app/components/SimpleEditor/elements/note/NoteCommand.js
@@ -1,4 +1,4 @@
-import { InsertInlineNodeCommand, documentHelpers } from 'substance'
+import { InsertInlineNodeCommand } from 'substance'
 
 class NoteCommand extends InsertInlineNodeCommand {
   createNodeData () {
@@ -14,22 +14,22 @@ class NoteCommand extends InsertInlineNodeCommand {
       return tx.insertInlineNode(nodeData)
     })
 
-    let selection = editorSession.getSelection()
-    let selectionBefore = selection._clone()
-    selectionBefore.start.offset -= 1
-    let note = this.getCreatedNote(selectionBefore, editorSession)
-    const notesProvider = this.getNotesProvider(params)
-    notesProvider.createIsolatedNote(note)
+    // let selection = editorSession.getSelection()
+    // let selectionBefore = selection._clone()
+    // selectionBefore.start.offset -= 1
+    // let note = this.getCreatedNote(selectionBefore, editorSession)
+    // const notesProvider = this.getNotesProvider(params)
+    // notesProvider.createIsolatedNote(note)
   }
 
-  getCreatedNote (selection, editorSession) {
-    const note = documentHelpers.getPropertyAnnotationsForSelection(
-      editorSession.getDocument(),
-      selection,
-      { type: 'note' }
-    )
-    return note[0]
-  }
+  // getCreatedNote (selection, editorSession) {
+  //   const note = documentHelpers.getPropertyAnnotationsForSelection(
+  //     editorSession.getDocument(),
+  //     selection,
+  //     { type: 'note' }
+  //   )
+  //   return note[0]
+  // }
 
   getNotesProvider (params) {
     return params.surface.context.notesProvider
diff --git a/app/components/SimpleEditor/miniEditor/miniEditor.js b/app/components/SimpleEditor/miniEditor/miniEditor.js
index 788f1f1cdc727a0f16e8260c9cca85c71fa86c46..e68daee67d8dfad6827fb4eb705a1db364689dda 100644
--- a/app/components/SimpleEditor/miniEditor/miniEditor.js
+++ b/app/components/SimpleEditor/miniEditor/miniEditor.js
@@ -10,9 +10,11 @@ import TrackChangesProvider from '../elements/track_change/TrackChangesProvider'
 class MiniEditor extends ProseEditor {
 
   didMount () {
-    this.context.notesProvider.config.miniEditorContext = this.getChildContext()
-    this.context.notesProvider.config.miniEditorSession = this.editorSession
+    const provider = this.getProvider()
+    provider.config.miniEditorContext = this.getChildContext()
+    provider.config.miniEditorSession = this.editorSession
     this.on('noteSelected', this.scrollTo, this)
+    this.on('notes:updated', this.createNotes, this)
   }
 
   render ($$) {
@@ -81,6 +83,42 @@ class MiniEditor extends ProseEditor {
     this.refs.miniEditorContentPanel.scrollTo(nodeId)
   }
 
+  createNodeData (note, index) {
+    return {
+      'type': 'isolated-note',
+      'content': '',
+      'parentNoteId': note.id,
+      index: index
+    }
+  }
+
+  createNotes () {
+    const provider = this.getProvider()
+    const notes = provider.computeEntries()
+    console.log('notes Created', notes)
+    const surface = this.getSurface()
+    const container = surface.getContainer()
+    for (let i = 0; i < notes.length; i++) {
+      let nodeData = this.createNodeData(notes[i], i)
+      this.editorSession.transaction(function (tx) {
+        if (!tx.get(nodeData.id)) {
+          let blockNode = tx.create(nodeData)
+          tx.update(container.getContentPath(), { type: 'insert', pos: i, value: blockNode.id })
+        }
+      })
+    }
+  }
+
+  getProvider () {
+    return this.context.notesProvider
+  }
+
+  getSurface () {
+    const containerId = this.props.containerId
+    const provider = this.getProvider()
+    return provider.config.miniEditorContext.surfaceManager.getSurface(containerId)
+  }
+
   getChildContext () {
     const oldContext = super.getChildContext()
     const doc = this.doc
diff --git a/app/components/SimpleEditor/panes/Notes/Notes.js b/app/components/SimpleEditor/panes/Notes/Notes.js
index f254738f07702a73da226b00cd929a70f88deaf4..275c28cb6909f4230f8d5d777f551dcfe7b2aaba 100644
--- a/app/components/SimpleEditor/panes/Notes/Notes.js
+++ b/app/components/SimpleEditor/panes/Notes/Notes.js
@@ -17,8 +17,8 @@ class Notes extends Component {
 
   didMount () {
     const provider = this.getProvider()
+    // provider.config.miniEditorSession.onUpdate('', this.saveNotes, this)
     this.context.editorSession.onUpdate('document', this.onNotesUpdated, this)
-    provider.config.miniEditorSession.onUpdate('', this.saveNotes, this)
   }
 
   initResize (e) {
@@ -75,8 +75,8 @@ class Notes extends Component {
     const notes = provider.computeEntries()
     let noteContent = ''
 
-    for (var i = 0; i < notes.main.length; i++) {
-      noteContent += notes.main[i]['note-content']
+    for (var i = 0; i < notes.length; i++) {
+      noteContent += notes[i]['note-content']
     }
 
     const doc = importer.importDocument(noteContent)
@@ -95,7 +95,7 @@ class Notes extends Component {
     const surface = this.getSurface()
     // For some reason the first character is not in the annotation so it is not getting saved
     // so we rerender the Surface
-    surface.rerender()
+    // surface.rerender()
     const notes = provider.computeEntries()
     const configurator = new Configurator().import(config)
     const exporter = new SimpleExporter(configurator.config)
@@ -125,6 +125,20 @@ class Notes extends Component {
     return provider.config.miniEditorContext.surfaceManager.getSurface('mini')
   }
 
+  getMiniEditor () {
+    const provider = this.getProvider()
+    return provider.config.miniEditorContext.editor
+  }
+
+  onNotesUpdated (change) {
+    const notesProvider = this.getProvider()
+    notesProvider.handleDocumentChange(change)
+    console.log('change', change)
+    const miniEditor = this.getMiniEditor()
+    miniEditor.emit('notes:updated')
+    // this.el.el.style.height = '95px'
+  }
+
   getParentProps () {
     return {
       comments: this.context.commentsProvider.config.comments,
@@ -138,12 +152,6 @@ class Notes extends Component {
     }
   }
 
-  onNotesUpdated (change) {
-    const notesProvider = this.getProvider()
-    notesProvider.handleDocumentChange(change)
-    // this.el.el.style.height = '95px'
-  }
-
   dispose () {
     const provider = this.getProvider()
     provider.off(this)
diff --git a/app/components/SimpleEditor/panes/Notes/NotesProvider.js b/app/components/SimpleEditor/panes/Notes/NotesProvider.js
index 1697133830901a9b49ec609090e9213ebd735550..9782f1ad350fa318e883a97bc2eeae5a642ddc83 100644
--- a/app/components/SimpleEditor/panes/Notes/NotesProvider.js
+++ b/app/components/SimpleEditor/panes/Notes/NotesProvider.js
@@ -4,36 +4,20 @@ import { TOCProvider } from 'substance'
 
 class NotesProvider extends TOCProvider {
   computeEntries () {
-    const docMain = this.getDocument()
-    const nodesMain = docMain.getNodes()
-
-    const docMini = this.config.miniEditorSession.document
-    let nodesMini = ''
-    if (docMini) nodesMini = docMini.getNodes()
+    console.log('compute')
+    const doc = this.getDocument()
+    const nodes = doc.getNodes()
 
     if (docMini)console.log('paragraphs', nodesMini)
 
     // get all notes from the document
-    const notesMain = _.pickBy(nodesMain, function (value, key) {
+    const noteNodes = _.pickBy(nodes, function (value, key) {
       return value.type === 'note'
     })
-    const notesMini = _.pickBy(nodesMini, function (value, key) {
-      return value.type === 'isolated-note'
-    })
-
-    const entriesMain = this.sortNodes(notesMain)
-    const entriesMini = _.values(notesMini)
 
-    const entries = {
-      main: entriesMain,
-      mini: entriesMini
-    }
-
-    if (entriesMini && entriesMain.length < entriesMini.length) {
-      this.findDeletedNote(entries)
-    }
+    const sortedNoteEntries = this.sortNodes(noteNodes)
 
-    return entries
+    return sortedNoteEntries
   }
 
   sortNodes (nodes) {