anchor.diff:  <script type="text/paperscript" canvas="visualization_canvas">
   
     var RandomMoverGroup = Base.extend({
  +    //initialize sets up basic values, the movers array, and add connections to the movers
       initialize: function(num_paths)  {
         this.num_fill_colors = 6;
         this.fill_colors = new Array("blue", "red", "green", "yellow", "purple", "orange");
  
positive.code:         }
        }
      },
      update_positions: function()  {
        for(var i = 0; i < this.num_paths; i++)  {
          var mover = this.movers[i];
          var vector = mover.move_to_destination();
  
          if (vector.length < 5) {
            //set the destination
            match = this.find_mover_with_same_color(mover, this.num_paths);
            mover.destination = new Point(match.path.bounds.x,  match.path.bounds.y);
            //hack to move to random point if we go out of bounds
            if(mover.destination.x < 0 || mover.destination.y < 0)  {
  
negative.code:       this.path.add(end_half_point);
        this.path.add(end_point);
      },
      //update either the start or end point to be the new position
      //calculate the new position of the two center points
      update_position: function(caller, new_pos)  {
        if(caller == this.start)  {
          this.path.segments[0].point.x = new_pos.x;
  