diff --git a/canvas-10-feb/src/components/NodesLayer.vue b/canvas-10-feb/src/components/NodesLayer.vue
index 55a5e59d7c8652d4bef4f4b3e8c32040244f2e3b..3be4d8bca784b8d2dfb2c62083920d3e86f1e859 100644
--- a/canvas-10-feb/src/components/NodesLayer.vue
+++ b/canvas-10-feb/src/components/NodesLayer.vue
@@ -1,7 +1,14 @@
 <template>
   <div ref="nodes" class="node">
-    <form id="editForm" class="myScroll">
-      <textarea @input="editNode" v-model="thistext" :id="nodeid"></textarea>
+    <form>
+      <div v-for="value in myNodes" v-bind:key="value.nodeid">
+        <textarea
+          v-if="nodeid == value.nodeid"
+          @input="editNode"
+          v-model="value.nodetext"
+          :id="nodeid"
+        ></textarea>
+      </div>
       <p>markdown supported</p>
       <button>delete</button>
     </form>
@@ -10,6 +17,7 @@
 
 <script>
 import { drag } from './mixins/drag.js'
+import { mapState } from 'vuex'
 
 export default {
   name: 'NodesLayer',
@@ -27,6 +35,9 @@ export default {
     var nodes = this.$refs.nodes
     this.makeDraggable(nodes)
   },
+  computed: mapState({
+    myNodes: state => state.myNodes
+  }),
   methods: {
     setFocus() {
       // this.$refs.nodetext.focus()
@@ -44,7 +55,7 @@ export default {
 <!-- Add "scoped" attribute to limit CSS to this component only -->
 <style scoped>
 .node {
-  background-color: aquamarine;
+  background-color: rgb(207, 177, 235);
   position: absolute;
 }
 </style>
diff --git a/canvas-10-feb/src/components/otherNodeslayer.vue b/canvas-10-feb/src/components/otherNodeslayer.vue
new file mode 100644
index 0000000000000000000000000000000000000000..25d7b1a03b96b13df1d0bf8fc03289aa57b1965e
--- /dev/null
+++ b/canvas-10-feb/src/components/otherNodeslayer.vue
@@ -0,0 +1,33 @@
+<template>
+  <div ref="othernodes" class="othernodes">
+    <form>
+      <p :id="nodeid">{{ nodetext }}</p>
+      <p>markdown supported</p>
+    </form>
+  </div>
+</template>
+
+<script>
+import { drag } from './mixins/drag.js'
+// import { mapState } from 'vuex'
+
+export default {
+  name: 'otherNodeslayer',
+  mixins: [drag],
+
+  props: { nodeid: Number, nodetext: String },
+
+  mounted() {
+    var othernodes = this.$refs.othernodes
+    this.makeDraggable(othernodes)
+  }
+}
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style scoped>
+.othernodes {
+  background-color: aquamarine;
+  /* position: absolute; */
+}
+</style>
diff --git a/canvas-10-feb/src/store/index.js b/canvas-10-feb/src/store/index.js
index a4cdbc1fe7dbe74b2e73cadb31b205bb240ff0bd..9c113e64805278284f248c79accc5cf811fb6fb3 100644
--- a/canvas-10-feb/src/store/index.js
+++ b/canvas-10-feb/src/store/index.js
@@ -4,6 +4,9 @@ import PouchDB from 'pouchdb'
 import accounts from '../assets/settings.json'
 
 Vue.use(Vuex)
+// var rando = Math.random()
+//   .toString(16)
+//   .slice(2)
 var microcosm = 'podcast2020'
 var pouchdb = new PouchDB(microcosm)
 var remote =
@@ -17,7 +20,12 @@ var remote =
 
 const store = new Vuex.Store({
   state: {
+    localnodeid: null,
+    global_pos_name: 'positions',
+    // this is set with localStorage or could be random on Every Load
+    // so long as you can edit all nodes
     myclient: 'mac',
+    activeNode: {},
     // this will be objects containing arrays of all the handles / connections and nodes
     configConnect: {
       x: -25,
@@ -33,8 +41,14 @@ const store = new Vuex.Store({
       width: 10,
       fill: 'black'
     },
-    configNodes: [
+    myNodes: [
       // { nodeid: 1, nodetext: 'node 1' },
+    ],
+    otherNodes: [
+      //{}
+    ],
+    configPositions: [
+      //{}
     ]
   },
   mutations: {
@@ -45,18 +59,124 @@ const store = new Vuex.Store({
           attachments: true
         })
         .then(function(doc) {
-          state.configNodes = doc.rows[1].doc.nodes
+          var i
+          var j
+          for (i = 0; i < Object.keys(doc.rows).length; i++) {
+            if (state.myclient == doc.rows[i].key) {
+              state.myNodes = doc.rows[i].doc.nodes
+            }
+            if (
+              state.myclient != doc.rows[i].key &&
+              state.global_pos_name != doc.rows[i].key &&
+              state.global_con_name != doc.rows[i].key &&
+              state.global_emoji_name != doc.rows[i].key
+            ) {
+              for (j = 0; j < Object.keys(doc.rows[i].doc.nodes).length; j++) {
+                console.log(doc.rows[i].doc.nodes[j].nodeid)
+                console.log(doc.rows[i].doc.nodes[j].nodetext)
+                const newNode = {
+                  nodeid: doc.rows[i].doc.nodes[j].nodeid,
+                  nodetext: doc.rows[i].doc.nodes[j].nodetext
+                }
+                state.otherNodes.push(newNode)
+              }
+            }
+          }
+          console.log(state.otherNodes)
         })
         .catch(function(err) {
           console.log(err)
         })
     },
+    GET_POSITIONS(state) {
+      pouchdb
+        .get(state.global_pos_name)
+        .then(function(doc) {
+          state.configPositions = doc.positions
+        })
+        .catch(function(err) {
+          console.log(err)
+          if (err.status == 404) {
+            return pouchdb.put({
+              _id: state.global_pos_name,
+              positions: []
+            })
+          }
+        })
+    },
+
+    MOVE_POS() {},
+
+    ADD_DOC(state, e) {
+      var uniqueid =
+        Math.random()
+          .toString(36)
+          .substring(2, 15) +
+        Math.random()
+          .toString(36)
+          .substring(2, 15)
+      state.localnodeid = uniqueid
+
+      pouchdb.get(state.myclient).then(function(doc) {
+        if (e == undefined) {
+          doc.notes.push({
+            nodeid: uniqueid,
+            nodetext: '',
+            nodeowner: state.myclient,
+            content_type: 'sheet',
+            deleted: false,
+            attachment_name: e
+          })
+        }
+
+        return pouchdb
+          .put({
+            _id: state.myclient,
+            _rev: doc._rev,
+            _attachments: doc._attachments,
+            nodes: doc.notes
+          })
+          .then(function() {
+            return pouchdb.get(state.myclient).then(function(doc) {
+              state.myNodes = doc.nodes
+              var end = Object.keys(state.myNodes).length - 1
+              const newNode = {
+                nodetext: state.myNodes[end].text,
+                nodeid: state.myNodes[end].id,
+                content_type: state.notes[end].content_type
+              }
+              state.activeNode = newNode
+            })
+          })
+          .catch(function(err) {
+            if (err.status == 404) {
+              // pouchdb.put({  })
+            }
+          })
+      })
+      pouchdb.get(state.global_pos_name).then(function(doc) {
+        doc.positions.push({
+          nodeid: uniqueid,
+          xpos: 50,
+          ypos: 50
+        })
+        return pouchdb
+          .put({
+            _id: state.global_pos_name,
+            _rev: doc._rev,
+            positions: doc.positions
+          })
+          .catch(function(err) {
+            console.log(err)
+          })
+      })
+    },
 
     EDIT_NODE(state, e) {
       var i
-      for (i = 0; i < Object.keys(state.configNodes).length; i++) {
-        if (e.nodeid == state.configNodes[i].nodeid) {
-          state.configNodes[i].nodetext = e.nodetext
+      for (i = 0; i < Object.keys(state.myNodes).length; i++) {
+        if (e.nodeid == state.myNodes[i].nodeid) {
+          state.myNodes[i].nodetext = e.nodetext
         }
       }
       pouchdb
@@ -68,13 +188,13 @@ const store = new Vuex.Store({
               _id: state.myclient,
               _rev: doc._rev,
               _attachments: doc._attachments,
-              nodes: state.configNodes
+              nodes: state.myNodes
             }
           ])
         })
         .then(function() {
           return pouchdb.get(state.myclient).then(function(doc) {
-            state.configNodes = doc.nodes
+            state.myNodes = doc.nodes
           })
         })
         .catch(function(err) {
@@ -88,13 +208,15 @@ const store = new Vuex.Store({
     syncDB: () => {
       pouchdb.replicate.from(remote).on('complete', function() {
         store.commit('GET_NODES')
+        store.commit('GET_POSITIONS')
         // turn on two-way, continuous, retriable sync
         pouchdb
           .sync(remote, { live: true, retry: true, attachments: true })
           .on('change', function() {
             // pop info into function to find out more
-            //console.log('change')
+            console.log('change')
             store.commit('GET_NODES')
+            store.commit('GET_POSITIONS')
           })
           .on('paused', function() {
             // replication paused (e.g. replication up to date, user went offline)
diff --git a/canvas-10-feb/src/views/Home.vue b/canvas-10-feb/src/views/Home.vue
index fe75fedbcdbe8a5255c43618ea21b2c0b3910edc..21b6785b25e552ef28e53ad63d7b00204cc028dc 100644
--- a/canvas-10-feb/src/views/Home.vue
+++ b/canvas-10-feb/src/views/Home.vue
@@ -1,12 +1,18 @@
 <template>
   <div class="home">
-    <!-- The number of NodesLayers comes from store -->
+    <otherNodeslayer
+      v-for="value in otherNodes"
+      v-bind:key="value.nodeid"
+      v-bind:nodeid="value.nodeid"
+      v-bind:nodetext="value.nodetext"
+    />
     <NodesLayer
-      v-for="(value, index) in configNodes"
-      v-bind:key="index"
+      v-for="value in myNodes"
+      v-bind:key="value.nodeid"
       v-bind:nodeid="value.nodeid"
       v-bind:nodetext="value.nodetext"
     />
+
     <CanvasLayer />
     <ControlsLayer />
   </div>
@@ -16,6 +22,7 @@
 // @ is an alias to /src
 import CanvasLayer from '@/components/CanvasLayer.vue'
 import NodesLayer from '@/components/NodesLayer.vue'
+import otherNodeslayer from '@/components/otherNodeslayer.vue'
 import ControlsLayer from '@/components/ControlsLayer.vue'
 
 import { mapState } from 'vuex'
@@ -25,10 +32,12 @@ export default {
   components: {
     CanvasLayer,
     NodesLayer,
+    otherNodeslayer,
     ControlsLayer
   },
   computed: mapState({
-    configNodes: state => state.configNodes
+    myNodes: state => state.myNodes,
+    otherNodes: state => state.otherNodes
   })
 }
 </script>