anchor.diff:    });
     
     var Mover = Base.extend({
  +    //creates some sort of shape, adds a little bit of text inside and maintains their size and position
  +    //also includes links to connection objects
  +    //also initializes the scaling, rotation, and where the mover is going
       initialize: function(color, num)  {
         //num can possibly be zero, so make sure it has a minimum size
         this.path = new Path.Circle(view.center + num, num+1);
  
positive.code:         //if above a threshold, make it slightly smaller
          this.decrement_scale();
        }
  
        return vector;
      },
      add_connection: function(path)  {
        this.connections.push(path);
        return this.path.position;
      },
    });
  
    var background = new Path.Rectangle(view.bounds);
    background.fillColor = 'black';
    mover_group = new RandomMoverGroup(40);
  
    function onFrame(event) {
      mover_group.update_positions();
    }
  
    function onMouseDown(event)  {
      mover_group.handle_mouse_down(event);
    }
  
negative.code:   });
  
    var Connection = Base.extend({
      //creates a segmented line that has two horizontal sections and one vertical section
      //the end poitns are path objects
      //the vertical section should stay at the midpoint between the two endpoints
      initialize: function(start, end, color)  {
        this.path = new Path();
        this.path.strokeColor = color;
  