   }
   function commitBox(topLeft:Point, botRight:Point, doErase:Boolean) {
     if (doErase) {
+    ///FIXME we probably want to call refresh and redraw everything so that a doughnut with a hole in the middle isn't actually a round bread with a painted white in the middle
       drawBoxOutline(topLeft,botRight,
                                      1,
                                      0xffffff,

            lobe.mSurface.onMouseUp=function(){};
            lobe.mSurface.stopDrag();
         }
     }else if (this.mMode==DRAWMODE||this.mMode==ERASEMODE) {
         var mousePos=new Point(_root._xmouse,_root._ymouse)
         mSelectBox=new Sprite(mSurface,mSurface.getNextHighestDepth());
         var localMousePos=worldToLocal(mousePos);
         mSelectBox.setPosition(localMousePos);
         mSelectBox.penTo(mousePos);
         var lobe=this;
         var doErase=(this.mMode==ERASEMODE);
         var tempBoxColor=0x0000ff;
         if (doErase) {
            this.mMode=DRAWMODE;///<-- FIXME: this alternates between draw and erase modes until we have global selection process
            tempBoxColor=0xff0000;
         }else { 
            this.mMode=ERASEMODE;
         }
         mSurface.onMouseMove=function(){lobe._mouseFunction(tempBoxColor);};
         mSurface.onMouseUp=function()

    }
  }
  function onPress():Void {
     if (mMode==DRAGMODE) {
         mSurface.startDrag(false,-16384,-16384,16384,16834);
         var lobe=this;
         mSurface.onMouseUp=function()
