       m.id.name = x.name
       loadedModels[m.props.name] = m
 
+      if m.props.icon != ''
+        @ve.loadIcon(m.props.name, (tex) =>
+          m.setIcon(@ve.iconCache[m.props.name])
+        )
+        true
+
   loadSimSettings: (settings) =>
     @ve.simSettings.props = settings
 

            xhr = new XMLHttpRequest()
            xhr.open("POST", "/addie/"+dsg+"/design/modelIco")
            xhr.send(fd)

            @parent.obj3d.remove(@shp.obj3d)
            THREE.ImageUtils.loadTexture(
              "ico/"+g.user+"_"+dsg+"_"+mdl+".png", {}, (tex) =>
                g.ve.render()
                _shp = new Shapes.Icon(tex,
                  @shp.obj3d.position.x,
                  @shp.obj3d.position.y,
                  @shp.obj3d.position.z)
                @shp = _shp
                @shp.obj3d.userData = this
                g.ve.iconCache[mdl] = tex
                @parent.obj3d.add(@shp.obj3d)
                g.ve.render()
                @tex = tex
            )

            true


    @simSettings = new SimSettings()
    @splitView = new SplitView(this)

  loadIcon: (name, f = null) =>
    if not @iconCache[name]?
      THREE.ImageUtils.loadTexture(
        "ico/"+g.user+"_"+dsg+"_"+name+".png", {}, (tex) =>
           @iconCache[name] = tex
           if f?
             f(tex)
      )
    else
      f(@iconCache[name])

  hsplit: () =>
    console.log("hsplit")
  
