         mesh = new THREE.Mesh geometry, material
         mesh.position.set 0, 0, 0
 
-        if opts.in_frame
-            @updateBoundingBox mesh
-        @scene.add mesh
-        return mesh
+        return @_finalizeObj mesh, opts.in_frame
 
     addGroup: (opts) ->
         opts = defaults opts,

        line = new THREE.Line geometry, new THREE.LineBasicMaterial(linewidth:opts.thickness)
        line.material.color.setRGB opts.texture.color...

        if opts.in_frame
            @updateBoundingBox line
        @scene.add line
        return line

    addSphere: (opts) ->
        opts = defaults opts,

            @boundingBox.geometry.boundingBox = obj.geometry.boundingBox.clone()
        @boundingBox.update @boundingBox

    _finalizeObj: (obj, in_frame) ->
        if in_frame
            @updateBoundingBox obj
        @scene.add obj
        return obj

    addText: (opts) ->
        opts = defaults opts,
            text        : required
