     @clearPropsGUI()
     @ve.render()
 
+class NameManager
+  constructor: () ->
+    @names = new Array()
+
+  getName: (s) ->
+    if !@names[s]?
+      @names[s] = 0
+    else
+      @names[s]++
+
+    s + @names[s]
 
 #VisualEnvironment holds the state associated with the Threejs objects used
 #to render Surfaces and the ElementBox. This class also contains methods

    @camera.position.z = 200
    @mouseh = new MouseHandler(this)
    @raycaster = new THREE.Raycaster()

  render: ->
    @renderer.clear()


  addElement: (ef, x, y) ->
    e = new ef.constructor(@baseRect, x, y, 50)
    e.props.name = @ve.namemanager.getName(e.constructor.name.toLowerCase())
    @ve.render()
    e

