diff --git a/app/src/components/ConnectionsLayer.vue b/app/src/components/ConnectionsLayer.vue
index 543119641542a1cd5d7f5a6ade507ea262e8815d..0b941575edb3eb22fd262f37aad3927957a53432 100644
--- a/app/src/components/ConnectionsLayer.vue
+++ b/app/src/components/ConnectionsLayer.vue
@@ -13,6 +13,11 @@ export default {
   name: 'ConnectionsLayer',
   computed: mapState({
     configConnections: (state) => state.configConnections,
+    configPositions: (state) => state.configPositions,
+    myNodes: (state) => state.myNodes,
+    otherNodes: (state) => state.otherNodes,
+    toolmode: (state) => state.ui.mode,
+    connectionstate: (state) => state.connectionstate,
   }),
 
   watch: {
@@ -20,79 +25,62 @@ export default {
       deep: true,
 
       handler() {
-        this.drawPixi()
+        this.connectionsDraw()
+        this.buttonsDraw()
       },
     },
   },
 
   methods: {
-    drawPixi() {
+    buttonsDraw() {
       var i
+      var j
       this.canvas = this.$refs.pixi
       const stage = this.PIXIApp.stage
-      let graphics = new PIXI.Graphics()
-      //let line = new PIXI.Graphics()
-
-      graphics.lineStyle(8, 0xcab6ff)
-
-      // FIXME: removes connections probably need to be own function
-      // for (i = 0; i < Object.keys(this.configConnections).length; i++) {
-      //   // static circle - needs to be same place as buttons
-      //   graphics.lineStyle(0)
-      //   graphics.beginFill(0xde3249, 1)
-      //   graphics.drawCircle(100, 250, 50)
-      //   graphics.endFill()
-      //   stage.addChild(graphics)
-      // }
-
-      for (i = 0; i < Object.keys(this.configConnections).length; i++) {
-        //start
-        graphics.moveTo(
-          this.configConnections[i].x_pos_start,
-          this.configConnections[i].y_pos_start
-        )
-        //end
-        graphics.lineTo(
-          this.configConnections[i].x_pos_end,
-          this.configConnections[i].y_pos_end
-        )
+      let buttons = new PIXI.Graphics()
+
+      for (i = 0; i < Object.keys(this.myNodes).length; i++) {
+        for (j = 0; j < Object.keys(this.configPositions).length; j++) {
+          if (this.configPositions[j].node_id == this.myNodes[i].node_id) {
+            buttons.lineStyle(0)
+            buttons.beginFill(0xcab6ff, 1)
+            // x, y, radius
+            buttons.drawCircle(
+              this.configPositions[j].x_pos + this.configPositions[j].width,
+              this.configPositions[j].y_pos +
+                this.configPositions[j].height / 2,
+              15
+            )
+            buttons.endFill()
+          }
+        }
       }
-      for (var j = stage.children.length - 1; j >= 0; j--) {
-        stage.removeChild(stage.children[j])
+      for (i = 0; i < Object.keys(this.otherNodes).length; i++) {
+        for (j = 0; j < Object.keys(this.configPositions).length; j++) {
+          if (this.configPositions[j].node_id == this.otherNodes[i].node_id) {
+            buttons.lineStyle(0)
+            buttons.beginFill(0xcab6ff, 1)
+            // x, y, radius
+            buttons.drawCircle(
+              this.configPositions[j].x_pos + this.configPositions[j].width,
+              this.configPositions[j].y_pos +
+                this.configPositions[j].height / 2,
+              15
+            )
+            buttons.endFill()
+          }
+        }
       }
-
-      stage.addChild(graphics)
-    },
-
-    //FIXME : this is a sketch of the final code for connection buttons
-    // Eventually can move this all from nodes layers as well (which make sense)
-    connectingDraw() {
-      var i
-      this.canvas = this.$refs.pixi
-      const stage = this.PIXIApp.stage
-      let circle = new PIXI.Graphics()
       let line = new PIXI.Graphics()
-
-      circle.lineStyle(8, 0xcab6ff)
-
-      for (i = 0; i < Object.keys(this.configConnections).length; i++) {
-        // static circle - needs to be same place as buttons
-        circle.lineStyle(0)
-        circle.beginFill(0xde3249, 1)
-        circle.drawCircle(100, 250, 50)
-        circle.endFill()
-        stage.addChild(circle)
-      }
-
       // connection on move
       var initialMoveTo
       // Opt-in to interactivity
-      circle.interactive = true
+      buttons.interactive = true
 
       // Shows hand cursor
-      circle.buttonMode = true
+      buttons.buttonMode = true
 
-      circle
+      buttons
         .on('pointerdown', onDragStart)
         .on('pointerup', onDragEnd)
         .on('pointerupoutside', onDragEnd)
@@ -131,6 +119,39 @@ export default {
           lines[0].lineTo(mouseX, mouseY)
         }
       }
+      stage.addChild(buttons)
+    },
+    connectionsDraw() {
+      var i
+
+      this.canvas = this.$refs.pixi
+      const stage = this.PIXIApp.stage
+      let graphics = new PIXI.Graphics()
+      //let line = new PIXI.Graphics()
+
+      graphics.lineStyle(8, 0xcab6ff)
+      // move the lines to start and end pos based on if to_node == node_id
+      // or from_id == node_id
+      // this will put them in the same place as buttons
+
+      for (i = 0; i < Object.keys(this.configConnections).length; i++) {
+        //start
+        graphics.moveTo(
+          this.configConnections[i].x_pos_start,
+          this.configConnections[i].y_pos_start
+        )
+
+        //end
+        graphics.lineTo(
+          this.configConnections[i].x_pos_end,
+          this.configConnections[i].y_pos_end
+        )
+      }
+      for (var l = stage.children.length - 1; l >= 0; l--) {
+        stage.removeChild(stage.children[l])
+      }
+
+      stage.addChild(graphics)
     },
   },
   mounted() {
@@ -142,8 +163,10 @@ export default {
       transparent: true,
       view: canvas,
     })
-    this.drawPixi()
-    this.connectingDraw()
+    this.connectionsDraw()
+    this.buttonsDraw()
+    // FIXME: code OLD
+    //  this.connectingDraw()
   },
 }
 </script>