diff --git a/index.html b/index.html
index c3d83f514850a15fdbb9840b14affa509145e594..c839a1f5e8c6112b69d8ce6268f5064f2d031e1b 100644
--- a/index.html
+++ b/index.html
@@ -6,7 +6,7 @@
     <!-- these three disable caching -->
     <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
     <meta http-equiv="Pragma" content="no-cache" />
-    <meta http-equiv="Expires" content="0" />
+    <meta http-equiv="Expires" content="-1" />
 </head>
 
 <body>
diff --git a/save/systems/sysattempt-03.json b/save/systems/dev-recursivelinks-01.json
similarity index 64%
rename from save/systems/sysattempt-03.json
rename to save/systems/dev-recursivelinks-01.json
index be463a3c283dd83803745950e05e3a6203b61cc0..99ae32aaca9d2643071ecd4e0d05a849cd8927a5 100644
--- a/save/systems/sysattempt-03.json
+++ b/save/systems/dev-recursivelinks-01.json
@@ -263,10 +263,6 @@
               {
                 "name": "mgrMsgs",
                 "type": "byteArray"
-              },
-              {
-                "name": "auto_0_3",
-                "type": "int32"
               }
             ],
             "outputs": [
@@ -289,16 +285,6 @@
                     "inHunkInput": 2
                   }
                 ]
-              },
-              {
-                "name": "auto_0_2",
-                "type": "int32",
-                "connections": [
-                  {
-                    "inHunkIndex": 5,
-                    "inHunkInput": 2
-                  }
-                ]
               }
             ],
             "states": [
@@ -315,14 +301,141 @@
               {
                 "name": "inputList",
                 "type": "string",
-                "value": "mgrMsgs (byteArray), auto_0_3 (int32)"
+                "value": "mgrMsgs (byteArray)"
               },
               {
                 "name": "outputList",
                 "type": "string",
-                "value": "mgrMsgs (byteArray), auto_0_2 (int32)"
+                "value": "mgrMsgs (byteArray)"
               }
-            ]
+            ],
+            "contains": {
+              "interpreterName": "ponyo",
+              "interpreterVersion": "v0.1",
+              "hunks": [
+                {
+                  "type": "manager",
+                  "name": "ponyo_one",
+                  "inputs": [
+                    {
+                      "name": "mgrMsgs_1024",
+                      "type": "byteArray"
+                    }
+                  ],
+                  "outputs": [
+                    {
+                      "name": "mgrMsgs_1024",
+                      "type": "byteArray",
+                      "connections": [
+                        {
+                          "inHunkIndex": 1,
+                          "inHunkInput": 1
+                        }
+                      ]
+                    }
+                  ],
+                  "states": []
+                },
+                {
+                  "type": "link",
+                  "name": "link_1",
+                  "inputs": [
+                    {
+                      "name": "data_1024",
+                      "type": "byteArray"
+                    },
+                    {
+                      "name": "mgrMsgs_1024",
+                      "type": "byteArray"
+                    }
+                  ],
+                  "outputs": [
+                    {
+                      "name": "data_1024",
+                      "type": "byteArray",
+                      "connections": [
+                        {
+                          "inHunkIndex": 2,
+                          "inHunkInput": 0
+                        }
+                      ]
+                    },
+                    {
+                      "name": "mgrMsgs_1024",
+                      "type": "byteArray",
+                      "connections": [
+                        {
+                          "inHunkIndex": 0,
+                          "inHunkInput": 0
+                        }
+                      ]
+                    }
+                  ],
+                  "states": [
+                    {
+                      "name": "isActive",
+                      "type": "boolean",
+                      "value": true
+                    },
+                    {
+                      "name": "otherLink",
+                      "type": "uint16",
+                      "value": 3
+                    },
+                    {
+                      "name": "inputList",
+                      "type": "string",
+                      "value": "mgrMsgs (byteArray)"
+                    },
+                    {
+                      "name": "outputList",
+                      "type": "string",
+                      "value": "mgrMsgs (byteArray)"
+                    }
+                  ]
+                },
+                {
+                  "type": "comm/COBSerialUSB",
+                  "name": "comm/COBSerialUSB_2",
+                  "inputs": [
+                    {
+                      "name": "data_1024",
+                      "type": "byteArray"
+                    }
+                  ],
+                  "outputs": [
+                    {
+                      "name": "data_1024",
+                      "type": "byteArray",
+                      "connections": [
+                        {
+                          "inHunkIndex": 1,
+                          "inHunkInput": 0
+                        }
+                      ]
+                    }
+                  ],
+                  "states": []
+                },
+                {
+                  "type": "comm/COBSerialRJ45",
+                  "name": "comm/COBSerialRJ45_3",
+                  "inputs": [
+                    {
+                      "name": "data_1024",
+                      "type": "byteArray"
+                    }
+                  ],
+                  "outputs": [
+                    {
+                      "name": "data_1024",
+                      "type": "byteArray"
+                    }
+                  ],
+                  "states": []
+                }
+              ]
+            }
           },
           {
             "type": "comm/cobserial",
@@ -362,58 +475,6 @@
                 "value": false
               }
             ]
-          },
-          {
-            "type": "control/saturnjog",
-            "name": "control/saturnjog_5",
-            "inputs": [
-              {
-                "name": "xNegPressure",
-                "type": "boolean"
-              },
-              {
-                "name": "xPosPressure",
-                "type": "boolean"
-              },
-              {
-                "name": "xStepsMade",
-                "type": "int32"
-              }
-            ],
-            "outputs": [
-              {
-                "name": "xStepsNextIncrement",
-                "type": "int32",
-                "connections": [
-                  {
-                    "inHunkIndex": 3,
-                    "inHunkInput": 2
-                  }
-                ]
-              }
-            ],
-            "states": [
-              {
-                "name": "intervalRunning",
-                "type": "boolean",
-                "value": false
-              },
-              {
-                "name": "msPerInterval",
-                "type": "number",
-                "value": 20
-              },
-              {
-                "name": "accel (s/s^2)",
-                "type": "number",
-                "value": 2000
-              },
-              {
-                "name": "max (s/s)",
-                "type": "number",
-                "value": 2000
-              }
-            ]
           }
         ]
       }
@@ -465,154 +526,7 @@
           "type": "number",
           "value": 2042
         }
-      ],
-      "contains": {
-        "interpreterName": "ponyo",
-        "interpreterVersion": "v0.1",
-        "hunks": [
-          {
-            "type": "manager",
-            "name": "ponyo_one",
-            "inputs": [
-              {
-                "name": "mgrMsgs_1024",
-                "type": "byteArray"
-              }
-            ],
-            "outputs": [
-              {
-                "name": "mgrMsgs_1024",
-                "type": "byteArray",
-                "connections": [
-                  {
-                    "inHunkIndex": 1,
-                    "inHunkInput": 1
-                  }
-                ]
-              }
-            ],
-            "states": []
-          },
-          {
-            "type": "link",
-            "name": "link_1",
-            "inputs": [
-              {
-                "name": "data_1024",
-                "type": "byteArray"
-              },
-              {
-                "name": "mgrMsgs_1024",
-                "type": "byteArray"
-              },
-              {
-                "name": "auto_0_3",
-                "type": "int32"
-              }
-            ],
-            "outputs": [
-              {
-                "name": "data_1024",
-                "type": "byteArray",
-                "connections": [
-                  {
-                    "inHunkIndex": 2,
-                    "inHunkInput": 0
-                  }
-                ]
-              },
-              {
-                "name": "mgrMsgs_1024",
-                "type": "byteArray",
-                "connections": [
-                  {
-                    "inHunkIndex": 0,
-                    "inHunkInput": 0
-                  }
-                ]
-              },
-              {
-                "name": "auto_0_2",
-                "type": "int32",
-                "connections": [
-                  {
-                    "inHunkIndex": 3,
-                    "inHunkInput": 0
-                  }
-                ]
-              }
-            ],
-            "states": [
-              {
-                "name": "isActive",
-                "type": "boolean",
-                "value": true
-              },
-              {
-                "name": "otherLink",
-                "type": "uint16",
-                "value": 3
-              },
-              {
-                "name": "inputList",
-                "type": "string",
-                "value": "mgrMsgs (byteArray), auto_0_3 (int32)"
-              },
-              {
-                "name": "outputList",
-                "type": "string",
-                "value": "mgrMsgs (byteArray), auto_0_2 (int32)"
-              }
-            ]
-          },
-          {
-            "type": "comm/COBSerialUSB",
-            "name": "comm/COBSerialUSB_2",
-            "inputs": [
-              {
-                "name": "data_1024",
-                "type": "byteArray"
-              }
-            ],
-            "outputs": [
-              {
-                "name": "data_1024",
-                "type": "byteArray",
-                "connections": [
-                  {
-                    "inHunkIndex": 1,
-                    "inHunkInput": 0
-                  }
-                ]
-              }
-            ],
-            "states": []
-          },
-          {
-            "type": "stepper",
-            "name": "stepper_3",
-            "inputs": [
-              {
-                "name": "increment",
-                "type": "int32"
-              }
-            ],
-            "outputs": [
-              {
-                "name": "increment",
-                "type": "int32",
-                "connections": [
-                  {
-                    "inHunkIndex": 1,
-                    "inHunkInput": 2
-                  }
-                ]
-              }
-            ],
-            "states": []
-          }
-        ]
-      }
+      ]
     },
     {
       "type": "view",
@@ -659,6 +573,29 @@
         }
       ],
       "states": []
+    },
+    {
+      "type": "debug/bytearrayoutput",
+      "name": "debug/bytearrayoutput_6",
+      "inputs": [],
+      "outputs": [
+        {
+          "name": "source",
+          "type": "byteArray"
+        }
+      ],
+      "states": [
+        {
+          "name": "gobutton",
+          "type": "boolean",
+          "value": false
+        },
+        {
+          "name": "prefix",
+          "type": "string",
+          "value": "85, 86, 87, 88"
+        }
+      ]
     }
   ]
 }
\ No newline at end of file
diff --git a/save/systems/ponyo-bridge-rf.json b/save/systems/ponyo-bridge-rf.json
new file mode 100644
index 0000000000000000000000000000000000000000..b3151708be8d1962ca3aaed05cf3c959486ead38
--- /dev/null
+++ b/save/systems/ponyo-bridge-rf.json
@@ -0,0 +1,561 @@
+{
+  "interpreterName": "cuttlefish",
+  "interpreterVersion": "v0.1",
+  "hunks": [
+    {
+      "type": "manager",
+      "name": "nrol",
+      "inputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": 1,
+              "inHunkInput": 0
+            }
+          ]
+        }
+      ],
+      "states": []
+    },
+    {
+      "type": "view",
+      "name": "tlview",
+      "inputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": 0,
+              "inHunkInput": 0
+            }
+          ]
+        }
+      ],
+      "states": []
+    },
+    {
+      "type": "link",
+      "name": "link_2",
+      "inputs": [
+        {
+          "name": "data",
+          "type": "byteArray"
+        },
+        {
+          "name": "mgrMsgs",
+          "type": "byteArray"
+        },
+        {
+          "name": "auto_0_3",
+          "type": "byteArray"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "data",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": 3,
+              "inHunkInput": 0
+            }
+          ]
+        },
+        {
+          "name": "mgrMsgs",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": 4,
+              "inHunkInput": 0
+            }
+          ]
+        },
+        {
+          "name": "auto_0_2",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": 5,
+              "inHunkInput": 0
+            }
+          ]
+        }
+      ],
+      "states": [
+        {
+          "name": "isActive",
+          "type": "boolean",
+          "value": true
+        },
+        {
+          "name": "otherLink",
+          "type": "uint16",
+          "value": 1
+        },
+        {
+          "name": "inputList",
+          "type": "string",
+          "value": "mgrMsgs (byteArray), auto_0_3 (byteArray)"
+        },
+        {
+          "name": "outputList",
+          "type": "string",
+          "value": "mgrMsgs (byteArray), auto_0_2 (byteArray)"
+        }
+      ],
+      "contains": {
+        "interpreterName": "nautilus",
+        "interpreterVersion": "v0.1",
+        "hunks": [
+          {
+            "type": "manager",
+            "name": "nautilus",
+            "inputs": [
+              {
+                "name": "msgs",
+                "type": "byteArray"
+              }
+            ],
+            "outputs": [
+              {
+                "name": "msgs",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": 1,
+                    "inHunkInput": 1
+                  }
+                ]
+              }
+            ],
+            "states": []
+          },
+          {
+            "type": "link",
+            "name": "link_1",
+            "inputs": [
+              {
+                "name": "data",
+                "type": "byteArray"
+              },
+              {
+                "name": "mgrMsgs",
+                "type": "byteArray"
+              },
+              {
+                "name": "auto_0_3",
+                "type": "byteArray"
+              }
+            ],
+            "outputs": [
+              {
+                "name": "data",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": 2,
+                    "inHunkInput": 0
+                  }
+                ]
+              },
+              {
+                "name": "mgrMsgs",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": 0,
+                    "inHunkInput": 0
+                  }
+                ]
+              },
+              {
+                "name": "auto_0_2",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": 3,
+                    "inHunkInput": 1
+                  }
+                ]
+              }
+            ],
+            "states": [
+              {
+                "name": "isActive",
+                "type": "boolean",
+                "value": true
+              },
+              {
+                "name": "otherLink",
+                "type": "uint16",
+                "value": 2
+              },
+              {
+                "name": "inputList",
+                "type": "string",
+                "value": "mgrMsgs (byteArray), auto_0_3 (byteArray)"
+              },
+              {
+                "name": "outputList",
+                "type": "string",
+                "value": "mgrMsgs (byteArray), auto_0_2 (byteArray)"
+              }
+            ]
+          },
+          {
+            "type": "comm/websocketserver",
+            "name": "comm/websocketserver_2",
+            "inputs": [
+              {
+                "name": "data",
+                "type": "byteArray"
+              }
+            ],
+            "outputs": [
+              {
+                "name": "data",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": 1,
+                    "inHunkInput": 0
+                  }
+                ]
+              }
+            ],
+            "states": [
+              {
+                "name": "status",
+                "type": "string",
+                "value": "connected"
+              },
+              {
+                "name": "port",
+                "type": "number",
+                "value": 2042
+              }
+            ]
+          },
+          {
+            "type": "link",
+            "name": "link_3",
+            "inputs": [
+              {
+                "name": "data",
+                "type": "byteArray"
+              },
+              {
+                "name": "mgrMsgs",
+                "type": "byteArray"
+              }
+            ],
+            "outputs": [
+              {
+                "name": "data",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": 4,
+                    "inHunkInput": 0
+                  }
+                ]
+              },
+              {
+                "name": "mgrMsgs",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": 1,
+                    "inHunkInput": 2
+                  }
+                ]
+              }
+            ],
+            "states": [
+              {
+                "name": "isActive",
+                "type": "boolean",
+                "value": true
+              },
+              {
+                "name": "otherLink",
+                "type": "uint16",
+                "value": 1
+              },
+              {
+                "name": "inputList",
+                "type": "string",
+                "value": "mgrMsgs (byteArray)"
+              },
+              {
+                "name": "outputList",
+                "type": "string",
+                "value": "mgrMsgs (byteArray)"
+              }
+            ],
+            "contains": {
+              "interpreterName": "ponyo",
+              "interpreterVersion": "v0.1",
+              "hunks": [
+                {
+                  "type": "manager",
+                  "name": "ponyo_one",
+                  "inputs": [
+                    {
+                      "name": "mgrMsgs_1024",
+                      "type": "byteArray"
+                    }
+                  ],
+                  "outputs": [
+                    {
+                      "name": "mgrMsgs_1024",
+                      "type": "byteArray",
+                      "connections": [
+                        {
+                          "inHunkIndex": 1,
+                          "inHunkInput": 1
+                        }
+                      ]
+                    }
+                  ],
+                  "states": []
+                },
+                {
+                  "type": "link",
+                  "name": "link_1",
+                  "inputs": [
+                    {
+                      "name": "data_1024",
+                      "type": "byteArray"
+                    },
+                    {
+                      "name": "mgrMsgs_1024",
+                      "type": "byteArray"
+                    }
+                  ],
+                  "outputs": [
+                    {
+                      "name": "data_1024",
+                      "type": "byteArray",
+                      "connections": [
+                        {
+                          "inHunkIndex": 2,
+                          "inHunkInput": 0
+                        }
+                      ]
+                    },
+                    {
+                      "name": "mgrMsgs_1024",
+                      "type": "byteArray",
+                      "connections": [
+                        {
+                          "inHunkIndex": 0,
+                          "inHunkInput": 0
+                        }
+                      ]
+                    }
+                  ],
+                  "states": [
+                    {
+                      "name": "isActive",
+                      "type": "boolean",
+                      "value": true
+                    },
+                    {
+                      "name": "otherLink",
+                      "type": "uint16",
+                      "value": 3
+                    },
+                    {
+                      "name": "inputList",
+                      "type": "string",
+                      "value": "mgrMsgs (byteArray)"
+                    },
+                    {
+                      "name": "outputList",
+                      "type": "string",
+                      "value": "mgrMsgs (byteArray)"
+                    }
+                  ]
+                },
+                {
+                  "type": "comm/COBSerialUSB",
+                  "name": "comm/COBSerialUSB_2",
+                  "inputs": [
+                    {
+                      "name": "data_1024",
+                      "type": "byteArray"
+                    }
+                  ],
+                  "outputs": [
+                    {
+                      "name": "data_1024",
+                      "type": "byteArray",
+                      "connections": [
+                        {
+                          "inHunkIndex": 1,
+                          "inHunkInput": 0
+                        }
+                      ]
+                    }
+                  ],
+                  "states": []
+                }
+              ]
+            }
+          },
+          {
+            "type": "comm/cobserial",
+            "name": "comm/cobserial_4",
+            "inputs": [
+              {
+                "name": "data",
+                "type": "byteArray"
+              }
+            ],
+            "outputs": [
+              {
+                "name": "data",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": 3,
+                    "inHunkInput": 0
+                  }
+                ]
+              }
+            ],
+            "states": [
+              {
+                "name": "status",
+                "type": "string",
+                "value": "closed"
+              },
+              {
+                "name": "pid",
+                "type": "string",
+                "value": "8022"
+              },
+              {
+                "name": "refresh",
+                "type": "boolean",
+                "value": false
+              }
+            ]
+          }
+        ]
+      }
+    },
+    {
+      "type": "comm/websocketclient",
+      "name": "comm/websocketclient_3",
+      "inputs": [
+        {
+          "name": "data",
+          "type": "byteArray"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "data",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": 2,
+              "inHunkInput": 0
+            }
+          ]
+        }
+      ],
+      "states": [
+        {
+          "name": "status",
+          "type": "string",
+          "value": "open"
+        },
+        {
+          "name": "retrycount",
+          "type": "number",
+          "value": 3
+        },
+        {
+          "name": "retryreset",
+          "type": "boolean",
+          "value": false
+        },
+        {
+          "name": "address",
+          "type": "string",
+          "value": "127.0.0.1"
+        },
+        {
+          "name": "port",
+          "type": "number",
+          "value": 2042
+        }
+      ]
+    },
+    {
+      "type": "view",
+      "name": "view_4",
+      "inputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": 2,
+              "inHunkInput": 1
+            }
+          ]
+        }
+      ],
+      "states": []
+    },
+    {
+      "type": "view",
+      "name": "view_5",
+      "inputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": 2,
+              "inHunkInput": 2
+            }
+          ]
+        }
+      ],
+      "states": []
+    }
+  ]
+}
\ No newline at end of file
diff --git a/save/systems/ponyo-bridge.json b/save/systems/ponyo-bridge.json
new file mode 100644
index 0000000000000000000000000000000000000000..a2dd1ad3a05c2244b2ed2b2c1fdcab3b19558479
--- /dev/null
+++ b/save/systems/ponyo-bridge.json
@@ -0,0 +1,451 @@
+{
+  "interpreterName": "cuttlefish",
+  "interpreterVersion": "v0.1",
+  "hunks": [
+    {
+      "type": "manager",
+      "name": "nrol",
+      "inputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": 1,
+              "inHunkInput": 0
+            }
+          ]
+        }
+      ],
+      "states": []
+    },
+    {
+      "type": "view",
+      "name": "tlview",
+      "inputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": 0,
+              "inHunkInput": 0
+            }
+          ]
+        }
+      ],
+      "states": []
+    },
+    {
+      "type": "link",
+      "name": "link_2",
+      "inputs": [
+        {
+          "name": "data",
+          "type": "byteArray"
+        },
+        {
+          "name": "mgrMsgs",
+          "type": "byteArray"
+        },
+        {
+          "name": "auto_0_3",
+          "type": "byteArray"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "data",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": 3,
+              "inHunkInput": 0
+            }
+          ]
+        },
+        {
+          "name": "mgrMsgs",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": 4,
+              "inHunkInput": 0
+            }
+          ]
+        },
+        {
+          "name": "auto_0_2",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": 5,
+              "inHunkInput": 0
+            }
+          ]
+        }
+      ],
+      "states": [
+        {
+          "name": "isActive",
+          "type": "boolean",
+          "value": true
+        },
+        {
+          "name": "otherLink",
+          "type": "uint16",
+          "value": 1
+        },
+        {
+          "name": "inputList",
+          "type": "string",
+          "value": "mgrMsgs (byteArray), auto_0_3 (byteArray)"
+        },
+        {
+          "name": "outputList",
+          "type": "string",
+          "value": "mgrMsgs (byteArray), auto_0_2 (byteArray)"
+        }
+      ],
+      "contains": {
+        "interpreterName": "nautilus",
+        "interpreterVersion": "v0.1",
+        "hunks": [
+          {
+            "type": "manager",
+            "name": "nautilus",
+            "inputs": [
+              {
+                "name": "msgs",
+                "type": "byteArray"
+              }
+            ],
+            "outputs": [
+              {
+                "name": "msgs",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": 1,
+                    "inHunkInput": 1
+                  }
+                ]
+              }
+            ],
+            "states": []
+          },
+          {
+            "type": "link",
+            "name": "link_1",
+            "inputs": [
+              {
+                "name": "data",
+                "type": "byteArray"
+              },
+              {
+                "name": "mgrMsgs",
+                "type": "byteArray"
+              },
+              {
+                "name": "auto_0_3",
+                "type": "byteArray"
+              }
+            ],
+            "outputs": [
+              {
+                "name": "data",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": 2,
+                    "inHunkInput": 0
+                  }
+                ]
+              },
+              {
+                "name": "mgrMsgs",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": 0,
+                    "inHunkInput": 0
+                  }
+                ]
+              },
+              {
+                "name": "auto_0_2",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": 3,
+                    "inHunkInput": 1
+                  }
+                ]
+              }
+            ],
+            "states": [
+              {
+                "name": "isActive",
+                "type": "boolean",
+                "value": true
+              },
+              {
+                "name": "otherLink",
+                "type": "uint16",
+                "value": 2
+              },
+              {
+                "name": "inputList",
+                "type": "string",
+                "value": "mgrMsgs (byteArray), auto_0_3 (byteArray)"
+              },
+              {
+                "name": "outputList",
+                "type": "string",
+                "value": "mgrMsgs (byteArray), auto_0_2 (byteArray)"
+              }
+            ]
+          },
+          {
+            "type": "comm/websocketserver",
+            "name": "comm/websocketserver_2",
+            "inputs": [
+              {
+                "name": "data",
+                "type": "byteArray"
+              }
+            ],
+            "outputs": [
+              {
+                "name": "data",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": 1,
+                    "inHunkInput": 0
+                  }
+                ]
+              }
+            ],
+            "states": [
+              {
+                "name": "status",
+                "type": "string",
+                "value": "connected"
+              },
+              {
+                "name": "port",
+                "type": "number",
+                "value": 2042
+              }
+            ]
+          },
+          {
+            "type": "link",
+            "name": "link_3",
+            "inputs": [
+              {
+                "name": "data",
+                "type": "byteArray"
+              },
+              {
+                "name": "mgrMsgs",
+                "type": "byteArray"
+              }
+            ],
+            "outputs": [
+              {
+                "name": "data",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": 4,
+                    "inHunkInput": 0
+                  }
+                ]
+              },
+              {
+                "name": "mgrMsgs",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": 1,
+                    "inHunkInput": 2
+                  }
+                ]
+              }
+            ],
+            "states": [
+              {
+                "name": "isActive",
+                "type": "boolean",
+                "value": false
+              },
+              {
+                "name": "otherLink",
+                "type": "uint16",
+                "value": 0
+              },
+              {
+                "name": "inputList",
+                "type": "string",
+                "value": "mgrMsgs (byteArray)"
+              },
+              {
+                "name": "outputList",
+                "type": "string",
+                "value": "mgrMsgs (byteArray)"
+              }
+            ]
+          },
+          {
+            "type": "comm/cobserial",
+            "name": "comm/cobserial_4",
+            "inputs": [
+              {
+                "name": "data",
+                "type": "byteArray"
+              }
+            ],
+            "outputs": [
+              {
+                "name": "data",
+                "type": "byteArray",
+                "connections": [
+                  {
+                    "inHunkIndex": 3,
+                    "inHunkInput": 0
+                  }
+                ]
+              }
+            ],
+            "states": [
+              {
+                "name": "status",
+                "type": "string",
+                "value": "closed"
+              },
+              {
+                "name": "pid",
+                "type": "string",
+                "value": "8022"
+              },
+              {
+                "name": "refresh",
+                "type": "boolean",
+                "value": false
+              }
+            ]
+          }
+        ]
+      }
+    },
+    {
+      "type": "comm/websocketclient",
+      "name": "comm/websocketclient_3",
+      "inputs": [
+        {
+          "name": "data",
+          "type": "byteArray"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "data",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": 2,
+              "inHunkInput": 0
+            }
+          ]
+        }
+      ],
+      "states": [
+        {
+          "name": "status",
+          "type": "string",
+          "value": "open"
+        },
+        {
+          "name": "retrycount",
+          "type": "number",
+          "value": 3
+        },
+        {
+          "name": "retryreset",
+          "type": "boolean",
+          "value": false
+        },
+        {
+          "name": "address",
+          "type": "string",
+          "value": "127.0.0.1"
+        },
+        {
+          "name": "port",
+          "type": "number",
+          "value": 2042
+        }
+      ]
+    },
+    {
+      "type": "view",
+      "name": "view_4",
+      "inputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": 2,
+              "inHunkInput": 1
+            }
+          ]
+        }
+      ],
+      "states": []
+    },
+    {
+      "type": "view",
+      "name": "view_5",
+      "inputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray"
+        }
+      ],
+      "outputs": [
+        {
+          "name": "msgs",
+          "type": "byteArray",
+          "connections": [
+            {
+              "inHunkIndex": 2,
+              "inHunkInput": 2
+            }
+          ]
+        }
+      ],
+      "states": []
+    }
+  ]
+}
\ No newline at end of file
diff --git a/save/systems/sysattempt-02.json b/save/systems/sysattempt-02.json
deleted file mode 100644
index 12b5883add566ab5fd81a3a3f1967439f3cb8664..0000000000000000000000000000000000000000
--- a/save/systems/sysattempt-02.json
+++ /dev/null
@@ -1,550 +0,0 @@
-{
-  "interpreterName": "cuttlefish",
-  "interpreterVersion": "v0.1",
-  "hunks": [{
-      "type": "manager",
-      "name": "nrol",
-      "inputs": [{
-        "name": "msgs",
-        "type": "byteArray"
-      }],
-      "outputs": [{
-        "name": "msgs",
-        "type": "byteArray",
-        "connections": [{
-          "inHunkIndex": 1,
-          "inHunkInput": 0
-        }]
-      }],
-      "states": []
-    },
-    {
-      "type": "view",
-      "name": "tlview",
-      "inputs": [{
-        "name": "msgs",
-        "type": "byteArray"
-      }],
-      "outputs": [{
-        "name": "msgs",
-        "type": "byteArray",
-        "connections": [{
-          "inHunkIndex": 0,
-          "inHunkInput": 0
-        }]
-      }],
-      "states": []
-    },
-    {
-      "type": "link",
-      "name": "link_2",
-      "inputs": [{
-          "name": "data",
-          "type": "byteArray"
-        },
-        {
-          "name": "mgrMsgs",
-          "type": "byteArray"
-        },
-        {
-          "name": "auto_0_3",
-          "type": "byteArray"
-        }
-      ],
-      "outputs": [{
-          "name": "data",
-          "type": "byteArray",
-          "connections": [{
-            "inHunkIndex": 3,
-            "inHunkInput": 0
-          }]
-        },
-        {
-          "name": "mgrMsgs",
-          "type": "byteArray",
-          "connections": [{
-            "inHunkIndex": 4,
-            "inHunkInput": 0
-          }]
-        },
-        {
-          "name": "auto_0_2",
-          "type": "byteArray",
-          "connections": [{
-            "inHunkIndex": 5,
-            "inHunkInput": 0
-          }]
-        }
-      ],
-      "states": [{
-          "name": "isActive",
-          "type": "boolean",
-          "value": true
-        },
-        {
-          "name": "otherLink",
-          "type": "uint16",
-          "value": 1
-        },
-        {
-          "name": "inputList",
-          "type": "string",
-          "value": "mgrMsgs (byteArray), auto_0_3 (byteArray)"
-        },
-        {
-          "name": "outputList",
-          "type": "string",
-          "value": "mgrMsgs (byteArray), auto_0_2 (byteArray)"
-        }
-      ],
-      "contains": {
-        "interpreterName": "nautilus",
-        "interpreterVersion": "v0.1",
-        "hunks": [{
-            "type": "manager",
-            "name": "nautilus",
-            "inputs": [{
-              "name": "msgs",
-              "type": "byteArray"
-            }],
-            "outputs": [{
-              "name": "msgs",
-              "type": "byteArray",
-              "connections": [{
-                "inHunkIndex": 1,
-                "inHunkInput": 1
-              }]
-            }],
-            "states": []
-          },
-          {
-            "type": "link",
-            "name": "link_1",
-            "inputs": [{
-                "name": "data",
-                "type": "byteArray"
-              },
-              {
-                "name": "mgrMsgs",
-                "type": "byteArray"
-              },
-              {
-                "name": "auto_0_3",
-                "type": "byteArray"
-              }
-            ],
-            "outputs": [{
-                "name": "data",
-                "type": "byteArray",
-                "connections": [{
-                  "inHunkIndex": 2,
-                  "inHunkInput": 0
-                }]
-              },
-              {
-                "name": "mgrMsgs",
-                "type": "byteArray",
-                "connections": [{
-                  "inHunkIndex": 0,
-                  "inHunkInput": 0
-                }]
-              },
-              {
-                "name": "auto_0_2",
-                "type": "byteArray",
-                "connections": [{
-                  "inHunkIndex": 3,
-                  "inHunkInput": 1
-                }]
-              }
-            ],
-            "states": [{
-                "name": "isActive",
-                "type": "boolean",
-                "value": true
-              },
-              {
-                "name": "otherLink",
-                "type": "uint16",
-                "value": 2
-              },
-              {
-                "name": "inputList",
-                "type": "string",
-                "value": "mgrMsgs (byteArray), auto_0_3 (byteArray)"
-              },
-              {
-                "name": "outputList",
-                "type": "string",
-                "value": "mgrMsgs (byteArray), auto_0_2 (byteArray)"
-              }
-            ]
-          },
-          {
-            "type": "comm/websocketserver",
-            "name": "comm/websocketserver_2",
-            "inputs": [{
-              "name": "data",
-              "type": "byteArray"
-            }],
-            "outputs": [{
-              "name": "data",
-              "type": "byteArray",
-              "connections": [{
-                "inHunkIndex": 1,
-                "inHunkInput": 0
-              }]
-            }],
-            "states": [{
-                "name": "status",
-                "type": "string",
-                "value": "connected"
-              },
-              {
-                "name": "port",
-                "type": "number",
-                "value": 2042
-              }
-            ]
-          },
-          {
-            "type": "link",
-            "name": "link_3",
-            "inputs": [{
-                "name": "data",
-                "type": "byteArray"
-              },
-              {
-                "name": "mgrMsgs",
-                "type": "byteArray"
-              },
-              {
-                "name": "auto_0_3",
-                "type": "int32"
-              }
-            ],
-            "outputs": [{
-                "name": "data",
-                "type": "byteArray",
-                "connections": [{
-                  "inHunkIndex": 4,
-                  "inHunkInput": 0
-                }]
-              },
-              {
-                "name": "mgrMsgs",
-                "type": "byteArray",
-                "connections": [{
-                  "inHunkIndex": 1,
-                  "inHunkInput": 2
-                }]
-              },
-              {
-                "name": "auto_0_2",
-                "type": "int32",
-                "connections": [{
-                  "inHunkIndex": 5,
-                  "inHunkInput": 2
-                }]
-              }
-            ],
-            "states": [{
-                "name": "isActive",
-                "type": "boolean",
-                "value": true
-              },
-              {
-                "name": "otherLink",
-                "type": "uint16",
-                "value": 1
-              },
-              {
-                "name": "inputList",
-                "type": "string",
-                "value": "mgrMsgs (byteArray), auto_0_3 (int32)"
-              },
-              {
-                "name": "outputList",
-                "type": "string",
-                "value": "mgrMsgs (byteArray), auto_0_2 (int32)"
-              }
-            ],
-            "contains": {
-              "interpreterName": "ponyo",
-              "interpreterVersion": "v0.1",
-              "hunks": [{
-                  "type": "manager",
-                  "name": "ponyo_one",
-                  "inputs": [{
-                    "name": "mgrMsgs_1024",
-                    "type": "byteArray"
-                  }],
-                  "outputs": [{
-                    "name": "mgrMsgs_1024",
-                    "type": "byteArray",
-                    "connections": [{
-                      "inHunkIndex": 1,
-                      "inHunkInput": 1
-                    }]
-                  }],
-                  "states": []
-                },
-                {
-                  "type": "link",
-                  "name": "link_1",
-                  "inputs": [{
-                      "name": "data_1024",
-                      "type": "byteArray"
-                    },
-                    {
-                      "name": "mgrMsgs_1024",
-                      "type": "byteArray"
-                    },
-                    {
-                      "name": "auto_0_3",
-                      "type": "int32"
-                    }
-                  ],
-                  "outputs": [{
-                      "name": "data_1024",
-                      "type": "byteArray",
-                      "connections": [{
-                        "inHunkIndex": 2,
-                        "inHunkInput": 0
-                      }]
-                    },
-                    {
-                      "name": "mgrMsgs_1024",
-                      "type": "byteArray",
-                      "connections": [{
-                        "inHunkIndex": 0,
-                        "inHunkInput": 0
-                      }]
-                    },
-                    {
-                      "name": "auto_0_2",
-                      "type": "int32",
-                      "connections": [{
-                        "inHunkIndex": 3,
-                        "inHunkInput": 0
-                      }]
-                    }
-                  ],
-                  "states": [{
-                      "name": "isActive",
-                      "type": "boolean",
-                      "value": true
-                    },
-                    {
-                      "name": "otherLink",
-                      "type": "uint16",
-                      "value": 3
-                    },
-                    {
-                      "name": "inputList",
-                      "type": "string",
-                      "value": "mgrMsgs (byteArray), auto_0_3 (int32)"
-                    },
-                    {
-                      "name": "outputList",
-                      "type": "string",
-                      "value": "mgrMsgs (byteArray), auto_0_2 (int32)"
-                    }
-                  ]
-                },
-                {
-                  "type": "comm/COBSerialUSB",
-                  "name": "comm/COBSerialUSB_2",
-                  "inputs": [{
-                    "name": "data_1024",
-                    "type": "byteArray"
-                  }],
-                  "outputs": [{
-                    "name": "data_1024",
-                    "type": "byteArray",
-                    "connections": [{
-                      "inHunkIndex": 1,
-                      "inHunkInput": 0
-                    }]
-                  }],
-                  "states": []
-                },
-                {
-                  "type": "stepper",
-                  "name": "stepper_3",
-                  "inputs": [{
-                    "name": "increment",
-                    "type": "int32"
-                  }],
-                  "outputs": [{
-                    "name": "increment",
-                    "type": "int32",
-                    "connections": [{
-                      "inHunkIndex": 1,
-                      "inHunkInput": 2
-                    }]
-                  }],
-                  "states": []
-                }
-              ]
-            }
-          },
-          {
-            "type": "comm/cobserial",
-            "name": "comm/cobserial_4",
-            "inputs": [{
-              "name": "data",
-              "type": "byteArray"
-            }],
-            "outputs": [{
-              "name": "data",
-              "type": "byteArray",
-              "connections": [{
-                "inHunkIndex": 3,
-                "inHunkInput": 0
-              }]
-            }],
-            "states": [{
-                "name": "status",
-                "type": "string",
-                "value": "closed"
-              },
-              {
-                "name": "pid",
-                "type": "string",
-                "value": "8022"
-              },
-              {
-                "name": "refresh",
-                "type": "boolean",
-                "value": false
-              }
-            ]
-          },
-          {
-            "type": "control/saturnjog",
-            "name": "control/saturnjog_5",
-            "inputs": [{
-                "name": "xNegPressure",
-                "type": "boolean"
-              },
-              {
-                "name": "xPosPressure",
-                "type": "boolean"
-              },
-              {
-                "name": "xStepsMade",
-                "type": "int32"
-              }
-            ],
-            "outputs": [{
-              "name": "xStepsNextIncrement",
-              "type": "int32",
-              "connections": [{
-                "inHunkIndex": 3,
-                "inHunkInput": 2
-              }]
-            }],
-            "states": [{
-                "name": "intervalRunning",
-                "type": "boolean",
-                "value": false
-              },
-              {
-                "name": "msPerInterval",
-                "type": "number",
-                "value": 20
-              },
-              {
-                "name": "accel (s/s^2)",
-                "type": "number",
-                "value": 2000
-              },
-              {
-                "name": "max (s/s)",
-                "type": "number",
-                "value": 2000
-              }
-            ]
-          }
-        ]
-      }
-    },
-    {
-      "type": "comm/websocketclient",
-      "name": "comm/websocketclient_3",
-      "inputs": [{
-        "name": "data",
-        "type": "byteArray"
-      }],
-      "outputs": [{
-        "name": "data",
-        "type": "byteArray",
-        "connections": [{
-          "inHunkIndex": 2,
-          "inHunkInput": 0
-        }]
-      }],
-      "states": [{
-          "name": "status",
-          "type": "string",
-          "value": "open"
-        },
-        {
-          "name": "retrycount",
-          "type": "number",
-          "value": 3
-        },
-        {
-          "name": "retryreset",
-          "type": "boolean",
-          "value": false
-        },
-        {
-          "name": "address",
-          "type": "string",
-          "value": "127.0.0.1"
-        },
-        {
-          "name": "port",
-          "type": "number",
-          "value": 2042
-        }
-      ]
-    },
-    {
-      "type": "view",
-      "name": "view_4",
-      "inputs": [{
-        "name": "msgs",
-        "type": "byteArray"
-      }],
-      "outputs": [{
-        "name": "msgs",
-        "type": "byteArray",
-        "connections": [{
-          "inHunkIndex": 2,
-          "inHunkInput": 1
-        }]
-      }],
-      "states": []
-    },
-    {
-      "type": "view",
-      "name": "view_5",
-      "inputs": [{
-        "name": "msgs",
-        "type": "byteArray"
-      }],
-      "outputs": [{
-        "name": "msgs",
-        "type": "byteArray",
-        "connections": [{
-          "inHunkIndex": 2,
-          "inHunkInput": 2
-        }]
-      }],
-      "states": []
-    }
-  ]
-}
diff --git a/view/vcontextmenu.js b/view/vcontextmenu.js
index 6738be63ee757c1b065b74f415289e6f825ee47c..743ebd5becc72dfbe30b51b8cb2d4224ff61d987 100644
--- a/view/vcontextmenu.js
+++ b/view/vcontextmenu.js
@@ -243,7 +243,7 @@ function cfContextMenu(evt, view, dt) {
     } // end recursive cycle ?
 
     // once that runs to completion, should have the hierarchichal patch
-    console.log('BIG UPS: a system patch ... ', tlp)
+    console.log('CONSIDER THIS: a system patch ... ', tlp)
     // now present-and-save
     setupForSave(ce, tlp)
   }) // end save entire system
diff --git a/view/vtoplevel.js b/view/vtoplevel.js
index be870d5c88a271d38cda96e4f2d4609a8a9612d4..972b355c82945615963c909a4edbaa4e0fd20573 100644
--- a/view/vtoplevel.js
+++ b/view/vtoplevel.js
@@ -225,7 +225,7 @@ function makeTopLevel(view){
     // ok, traces through links / heirarchy, returning final destination
     // of *connected* links
     if (output.connections.length !== 1) {
-      // no connections exist, er, we can only do this for singleton lines 
+      // no connections exist, er, we can only do this for singleton lines
       return false
     }
     let next = output.connections[0]
@@ -268,7 +268,8 @@ function makeTopLevel(view){
 
   */
 
-  view.buildRoute = (output, input) => {
+  view.buildRoute = (output, input, debug) => {
+    debug = true
     return new Promise((resolve, reject) => {
       // first, we can check
       let pt = trace(output)
@@ -285,60 +286,60 @@ function makeTopLevel(view){
           resolve()
         })
       } else {
-        console.log("BUILD: diving")
-        let lcounter = 0
-        let twocounter = 0
-        // well, ya didn't know it, but you're here to write a graph traversal scheme
-        // one must start somewhere,
-        // let's find the links of the output's parent
-        for (let df of opv.defs) {
-          if (df.type === 'link') {
-            console.log(`BUILD: find link ${df.name}`)
-            let dfr = df.reciprocalLink
-            if (dfr) {
-              console.log(`BUILD: find reciprocal link ${dfr.name} for ${df.name}`)
-              // that's one traverse, let's check
-              if (dfr.parentView === ipv) {
-                // this is the 'other side'
-                // let's add that side first ... bottom - up
-                // this is the link's state item describing it's outputs, as it stands:
-                let opList = dfr.states[3].value
-                opList += `, auto_${lcounter}_${dfr.outputs.length} (${output.type})`
-                console.log("BUILD: to req state for", opList)
-                // have to req via this view,
-                dfr.parentView.requestStateChange(dfr.states[3], opList).then(() => {
-                  // tricky, tricky, and dangerous:
-                  // we requested a state change on the dfr object,
-                  // that swapped in a new definition (bc this state change req's an addition to outputs)
-                  // so,
-                  dfr = dfr.parentView.defs[dfr.ind]
-                  return dfr.parentView.requestAddLink(dfr.outputs[dfr.outputs.length - 1], input)
-                }).then(() => {
-                  let ipList = df.states[2].value
-                  ipList += `, auto_${lcounter}_${dfr.outputs.length} (${output.type})`
-                  return df.parentView.requestStateChange(df.states[2], ipList)
-                }).then(() => {
-                  // swap happened,
-                  df = df.parentView.defs[df.ind]
-                  return df.parentView.requestAddLink(output, df.inputs[df.inputs.length - 1])
-                }).then(() => {
-                  // note: !: since we repalced a few link definitions,
-                  // we need to hook back their .reciprocalLinks,
-                  // we can do that by calling:
-                  view.globalOrganize()
-                  // and finally,
-                  resolve()
+        // ok, we have two views, and some string of links between them
+        // let's first see if we can just find the route,
+        // we are the top level ... but we should hunt by link,
+        let recurse = (view, entrance, trace) => {
+          if(debug) console.log(`BR: recurse to ${view.name}`)
+          let ntrace = JSON.parse(JSON.stringify(trace))
+          for(let df of view.defs){
+            if(df.type === 'link' && df !== entrance){
+              if(df.reciprocalLink){
+                ntrace.push({
+                  entrance: {
+                    link: df.name,
+                    view: view.name
+                  },
+                  exit: {
+                    link: df.reciprocalLink.name,
+                    view: df.reciprocalLink.parentView.name
+                  }
                 })
-              } else {
-                console.error('no second layer recursion yet, pls write, thx')
-                // would do same search over defs, for links, at this layer ...
-              }
-            } else {
-              console.log(`BUILD: no reciprocal link for ${df.name}`)
-            }
+                if(df.reciprocalLink.parentView === ipv){
+                  if(debug) console.log("BR: Makes")
+                  return ntrace;
+                } else {
+                  return recurse(df.reciprocalLink.parentView, df.reciprocalLink, ntrace)
+                }
+              }// no reciprocalLink
+            }// not a link
           }
         }
-      }
+        let route = recurse(opv, null, [])
+        if(debug) console.log("BR Recurse Return: ", route)
+        // should we resolve those objects? probably safe to assume that view names are unique,
+        // these are the kinds of code snippets that happen when jake is betwixt cpp and js
+        let resolver = (obj) => {
+          // jeez
+          let realView = view.defs.find((cand) => {
+            return cand.name === obj.view
+          })
+          let handle = view
+          if(realView.name !== "tlview") handle = realView.hunk
+          let realLink = handle.defs.find((cand) => {
+            return cand.name === obj.link
+          })
+          obj.view = handle
+          obj.link = realLink
+        }
+        for(let item of route){
+          resolver(item.entrance)
+          resolver(item.exit)
+        }
+        if(debug) console.log("BR: resolved to", route)
+        // OK: we gotem
+        
+      } // end not-same-view case,
     })
   }
 
@@ -532,8 +533,7 @@ function makeTopLevel(view){
                     })
                   } else {
                     if(debug){
-                      console.log(`RESTORE SYSTEM: nothing contined in next link`)
-                      console.log(nl)
+                      console.log(`RESTORE SYSTEM: nothing contained in next link`)
                     }
                   }
                 } else {
@@ -563,3 +563,59 @@ function makeTopLevel(view){
 }
 
 export default makeTopLevel
+
+/*
+        if(debug) console.log("BUILD: diving")
+        let lcounter = 0
+        let twocounter = 0
+        // well, ya didn't know it, but you're here to write a graph traversal scheme
+        // one must start somewhere,
+        // let's find the links of the output's parent
+        for (let df of opv.defs) {
+          if (df.type === 'link') {
+            if(debug) console.log(`BUILD: find link ${df.name}`)
+            let dfr = df.reciprocalLink
+            if (dfr) {
+              if(debug) console.log(`BUILD: find reciprocal link ${dfr.name} for ${df.name}`)
+              // that's one traverse, let's check
+              if (dfr.parentView === ipv) {
+                // this is the 'other side'
+                // let's add that side first ... bottom - up
+                // this is the link's state item describing it's outputs, as it stands:
+                let opList = dfr.states[3].value
+                opList += `, auto_${lcounter}_${dfr.outputs.length} (${output.type})`
+                if(debug) console.log("BUILD: to req state for", opList)
+                // have to req via this view,
+                dfr.parentView.requestStateChange(dfr.states[3], opList).then(() => {
+                  // tricky, tricky, and dangerous:
+                  // we requested a state change on the dfr object,
+                  // that swapped in a new definition (bc this state change req's an addition to outputs)
+                  // so,
+                  dfr = dfr.parentView.defs[dfr.ind]
+                  return dfr.parentView.requestAddLink(dfr.outputs[dfr.outputs.length - 1], input)
+                }).then(() => {
+                  let ipList = df.states[2].value
+                  ipList += `, auto_${lcounter}_${dfr.outputs.length} (${output.type})`
+                  return df.parentView.requestStateChange(df.states[2], ipList)
+                }).then(() => {
+                  // swap happened,
+                  df = df.parentView.defs[df.ind]
+                  return df.parentView.requestAddLink(output, df.inputs[df.inputs.length - 1])
+                }).then(() => {
+                  // note: !: since we repalced a few link definitions,
+                  // we need to hook back their .reciprocalLinks,
+                  // we can do that by calling:
+                  view.globalOrganize()
+                  // and finally,
+                  resolve()
+                })
+              } else {
+                console.error('no second layer recursion yet, pls write, thx')
+                // would do same search over defs, for links, at this layer ...
+              }
+            } else {
+              console.log(`BUILD: no reciprocal link for ${df.name}`)
+            }
+          }
+        }
+*/