diff --git a/app/components/SimpleEditor/elements/isolatedNote/IsolatedNote.js b/app/components/SimpleEditor/elements/isolatedNote/IsolatedNote.js
index a5f713584b23ed180f0c1eacdef4292bea2a4b15..1225ed1bd09e1c15a180add95bfcc417ade7c8d2 100644
--- a/app/components/SimpleEditor/elements/isolatedNote/IsolatedNote.js
+++ b/app/components/SimpleEditor/elements/isolatedNote/IsolatedNote.js
@@ -4,15 +4,14 @@ class IsolatedNote extends DocumentNode {}
 
 IsolatedNote.define({
   'type': 'isolated-note',
-  'note-content': {
-    type: 'string',
-    optional: true
+  'parentNoteId': {
+    type: 'string'
   },
   'index': {
     type: 'number',
     optional: true
   },
-  description: 'text'
+  content: 'text'
 })
 
 export default IsolatedNote
diff --git a/app/components/SimpleEditor/elements/isolatedNote/IsolatedNoteComponent.js b/app/components/SimpleEditor/elements/isolatedNote/IsolatedNoteComponent.js
index 9967cb6262ac6aa024c4a167a31346a79791a348..30c380d89cac4372360df98715b06c9ece0db355 100644
--- a/app/components/SimpleEditor/elements/isolatedNote/IsolatedNoteComponent.js
+++ b/app/components/SimpleEditor/elements/isolatedNote/IsolatedNoteComponent.js
@@ -6,7 +6,7 @@ class IsolatedNoteComponent extends BlockNodeComponent {
     let el = $$('div').addClass('sc-entity')
     el.append(
     $$(TextPropertyEditor, {
-      path: [this.props.node.id, 'description'],
+      path: [this.props.node.id, 'content'],
       disabled: this.props.disabled,
       tagName: 'p',
       multiLine: true
diff --git a/app/components/SimpleEditor/elements/note/Note.js b/app/components/SimpleEditor/elements/note/Note.js
index 82579d2abe8647801c701959589dba0104bd6250..51af949caa2935a9170c7553d515fa98642330d7 100644
--- a/app/components/SimpleEditor/elements/note/Note.js
+++ b/app/components/SimpleEditor/elements/note/Note.js
@@ -6,7 +6,7 @@ Note.define({
   'type': 'note',
   'note-content': {
     type: 'string',
-    optional: true
+    default: ''
   }
 })
 
diff --git a/app/components/SimpleEditor/elements/note/NoteComponent.js b/app/components/SimpleEditor/elements/note/NoteComponent.js
index 3140ee25b3cf1ab15a81b674f11fdd8284bf1bc5..b0b7e29a67e600e67fca2573be1c30ad3f82ae03 100644
--- a/app/components/SimpleEditor/elements/note/NoteComponent.js
+++ b/app/components/SimpleEditor/elements/note/NoteComponent.js
@@ -22,7 +22,7 @@ class NoteComponent extends Component {
     if (!selected.node) return
     const provider = this.getProvider()
     this.disableTools(selected)
-    provider.createShowNote(selected)
+    provider.createShowNote(selected.node)
   }
 
   disableTools () {
@@ -50,7 +50,7 @@ class NoteComponent extends Component {
 
     if (typeof note[0] !== 'undefined') {
       return {
-        node: note
+        node: note[0]
       }
     } else {
       return {
diff --git a/app/components/SimpleEditor/miniEditor/config.js b/app/components/SimpleEditor/miniEditor/config.js
index af34a4a4b43b6ecc679295fade2df43457151881..86a57e84e36538cd8f7911d05663800b48f99b16 100644
--- a/app/components/SimpleEditor/miniEditor/config.js
+++ b/app/components/SimpleEditor/miniEditor/config.js
@@ -10,6 +10,7 @@ import {
 } from 'substance'
 
 import CommentPackage from '../elements/comment/CommentPackage'
+import IsolatedNote from '../elements/isolatedNote/IsolatedNotePackage'
 
 let config = {
   name: 'simple-editor',
@@ -29,6 +30,7 @@ let config = {
     config.import(PersistencePackage)
     config.import(SpellCheckPackage)
     config.import(CommentPackage)
+    config.import(IsolatedNote)
   }
 }
 
diff --git a/app/components/SimpleEditor/panes/Notes/Notes.js b/app/components/SimpleEditor/panes/Notes/Notes.js
index 7a1a40e83ae1c4a9dae022b9faab16d72b9b87cd..631592bc1eefc3164853b4e3ad55e126741fee01 100644
--- a/app/components/SimpleEditor/panes/Notes/Notes.js
+++ b/app/components/SimpleEditor/panes/Notes/Notes.js
@@ -3,6 +3,7 @@ import { Component, EditorSession,
 import MiniEditor from '../../miniEditor/miniEditor'
 import config from '../../miniEditor/config'
 import Importer from '../../SimpleEditorImporter'
+import {forEach} from 'lodash'
 // import SimpleExporter from '../../SimpleEditorExporter'
 
 class Notes extends Component {
@@ -11,6 +12,7 @@ class Notes extends Component {
 
     this.resize = this.resize.bind(this)
     this.stopResize = this.stopResize.bind(this)
+    this.saveNotes = this.saveNotes.bind(this)
   }
   // use toc:updated to avoid rewriting TOCProvider's this.handleDocumentChange
   didMount () {
@@ -58,29 +60,59 @@ class Notes extends Component {
     return el
   }
 
-  _initMiniEditor () {
+  _initMiniEditor (tx) {
     const configurator = new Configurator().import(config)
     configurator.addImporter('html', Importer)
-
+    console.log('tx', tx)
     const importer = configurator.createImporter('html')
     const provider = this.getProvider()
 
     const notes = provider.computeEntries()
-    let notesContent = ''
 
-    for (var i = 0; i < notes.length; i++) {
-      notesContent += notes[i].content
+    let nontesContent = ''
+    if (this.context.notesProvider.config.miniEditorSession !== '') {
+      for (var i = 0; i < notes.main.length; i++) {
+      console.log('old', provider)
+      console.log('createIsolated', provider.createIsolatedNote(notes.main[i]))
+      nontesContent += provider.createIsolatedNote(notes.main[i])
+    }
     }
 
+
     const doc = importer.importDocument(notesContent)
 
     const editorSession = new EditorSession(doc, {
       configurator: configurator
     })
-
+    editorSession.setSaveHandler({
+      saveDocument: this.saveNotes
+    })
     return editorSession
   }
 
+  saveNotes (source) {
+    const provider = this.getProvider()
+    const notes = provider.computeEntries()
+    let self = this
+
+    console.log('notes', notes)
+
+    forEach(notes.main, function (mainNote) {
+      forEach(notes.mini, function (miniNote) {
+        if (miniNote.parentNoteId === mainNote.id) {
+          self.context.editorSession.transaction(function (tx, args) {
+            const path = [mainNote.id, 'note-content']
+            tx.set(path, miniNote.content)
+          })
+        }
+      })
+    })
+    // this.context.editor.rerender()
+    console.log('notes after', notes)
+    return new Promise(function (resolve, reject) {
+      resolve()
+    })
+  }
   getProvider () {
     return this.context.notesProvider
   }
diff --git a/app/components/SimpleEditor/panes/Notes/NotesProvider.js b/app/components/SimpleEditor/panes/Notes/NotesProvider.js
index d489a13454e811231e7aba6697c84afa7e3ff40a..b0aeb4226fa18dec55efaeb5962ba6b191dd4c3a 100644
--- a/app/components/SimpleEditor/panes/Notes/NotesProvider.js
+++ b/app/components/SimpleEditor/panes/Notes/NotesProvider.js
@@ -10,18 +10,25 @@ class NotesProvider extends TOCProvider {
     const docMini = this.config.miniEditorSession.document
     let nodesMini = ''
     if (docMini) nodesMini = docMini.getNodes()
-    // if(docMini)console.log('paragraphs', nodesMini)
+
+    if (docMini)console.log('paragraphs', nodesMini)
+
     // get all notes from the document
     const notesMain = _.pickBy(nodesMain, function (value, key) {
       return value.type === 'note'
     })
     const notesMini = _.pickBy(nodesMini, function (value, key) {
-      return value.type === 'paragraph'
+      return value.type === 'isolated-note'
     })
-
-    const entries = this.sortNodes(notesMain)
+    const entriesMain = this.sortNodes(notesMain)
     const entriesMini = this.sortNodesMini(notesMini)
-    // console.log(entries, entriesMini)
+
+    console.log(entriesMain, entriesMini)
+    const entries = {
+      main: entriesMain,
+      mini: entriesMini
+    }
+
     return entries
   }
 
@@ -41,10 +48,9 @@ class NotesProvider extends TOCProvider {
 
       return {
         id: note.id,
-        content: note['note-content'],
+        'note-content': note['note-content'],
         blockPosition: blockPosition,
-        nodePosition: nodePosition,
-        node: note
+        nodePosition: nodePosition
       }
     })
 
@@ -66,7 +72,8 @@ class NotesProvider extends TOCProvider {
 
       return {
         id: note.id,
-        content: note.content
+        content: note.content,
+        parentNoteId: note.parentNoteId
         // blockPosition: blockPosition,
         // nodePosition: nodePosition,
         // node: note
@@ -78,7 +85,42 @@ class NotesProvider extends TOCProvider {
 
   createShowNote (note) {
     console.log('in provider', note)
+    console.log('this', this)
+
+    if (note['note-content'] !== '') {
+      console.log('empty')
+      return
+    }
+
+    this.createIsolatedNote(note)
   }
+
+  createNodeData (tx, note) {
+    return {
+      'type': 'isolated-note',
+      'content': note['note-content'],
+      'parentNoteId': note.id,
+      'index': 1
+    }
+  }
+
+  createIsolatedNote (note) {
+    let self = this
+    let node = {}
+    console.log('this', this)
+    this.config.miniEditorSession.transaction(function (tx) {
+      var container = tx.get('body')
+      // console.log('container', container)
+      // var textType = tx.getSchema().getDefaultTextType()
+      // console.log('tx', tx)
+
+      let nodeData = self.createNodeData(tx, note)
+      // console.log('nodeData', nodeData)
+      node = tx.insertBlockNode(nodeData)
+      console.log('node', node)
+    })
+  }
+
 }
 
 NotesProvider.tocTypes = ['note']