   Link: class Link
     constructor: (@parent, from, to, x, y, z, isIcon = false) ->
       @endpoint = [null, null]
+      @ep_ifx = ["",""]
       #TODO: s/ln/shp/g for consistency
       @ln = new Shapes.Line(0xababab, from, to, z)
       @ln.obj3d.userData = this
       @props = {
         name: "link0",
-        sys: "",
+        sys: "root",
         design: dsg,
         capacity: 1000,
         latency: 0,
         endpoints: [
-          {name: "", sys: "", design: dsg, ifname: ""},
-          {name: "", sys: "", design: dsg, ifname: ""}
+          {name: "", sys: "root", design: dsg, ifname: ""},
+          {name: "", sys: "root", design: dsg, ifname: ""}
         ]
       }
       @id = {
         name: "link0"
-        sys: ""
+        sys: "root"
         design: dsg
       }
 

      @mh.placingLink.ln.geom.vertices[1] = ixs[0].object.linep
      ixs[0].object.lines.push(@mh.placingLink.ln)
      
      @mh.placingLink.endpoint[1] = ixs[0].object.userData
      @mh.placingLink.endpoint[1].links.push(@mh.placingLink)

      @mh.ve.surface.updateLink(@mh.placingLink.ln)

    ido = { OID: x.id, Type: x.constructor.name, Element: x.props }
    msg.Elements.push(ido)


    if x.setEndpointData?
      x.setEndpointData()
      ep = x.endpoint[0]
      msg.Elements.push(
        { OID: ep.id, Type: ep.constructor.name, Element: ep.props }
      )
      ep = x.endpoint[1]
      msg.Elements.push(
        { OID: ep.id, Type: ep.constructor.name, Element: ep.props }
      )

    console.log(msg)
    $.post "/addie/"+dsg+"/design/update", JSON.stringify(msg), (data) =>
      x.id.name = x.props.name
      x.id.sys = x.props.sys
