         endpoints: [
           {name: "link0", sys: "root", design: dsg},
           {name: "link0", sys: "root", design: dsg}
-        ]
-        #bindings: ""
+        ],
+        bindings: ["",""]
       }
       @props[@endpoint[0].props.name] = "" if @endpoint[0] #instanceof Model
       @props[@endpoint[1].props.name] = "" if @endpoint[1] #instanceof Model

      @props.endpoints[0].sys = @endpoint[0].props.sys
      if !@isPhysical()
        @props.endpoints[0].ifname = @ep_ifx[0]

      @props.endpoints[1].name = @endpoint[1].props.name
      @props.endpoints[1].sys = @endpoint[1].props.sys
      if !@isPhysical()
        @props.endpoints[1].ifname = @ep_ifx[1]

    ifInternetToWanLink:  ->
      @applyWanProps() if @isInternet()

    l.ep_ifx[1] = x.endpoints[1].ifname

    @setProps(l, x)
    l.setEndpointData()
    @ve.surface.elements.push(l)
    true

  #grosspants
  loadPlink: (x) =>
    a = @ve.surface.getElement(
      x.endpoints[0].name,
      x.endpoints[0].sys
    )
    if a == null
      console.log("bad endpoint detected")

    b = @ve.surface.getElement(
      x.endpoints[1].name,
      x.endpoints[1].sys
    )
    if b == null
      console.log("bad endpoint detected")

    l = new BaseElements.Link(@ve.surface.baseRect,
          a.shp.obj3d.linep, b.shp.obj3d.linep, 0, 0, 5)

    a.links.push(l)
    a.shp.obj3d.lines.push(l.ln)
    b.links.push(l)
    b.shp.obj3d.lines.push(l.ln)

    l.endpoint[0] = a
    l.endpoint[1] = b
    #l.ep_ifx[0] = x.endpoints[0].ifname
    #l.ep_ifx[1] = x.endpoints[1].ifname

    l.applyPhysicalProps()
    @setProps(l, x)
    l.unpackBindings()
    l.setEndpointData()
    @ve.surface.elements.push(l)
    true
