anchor.diff:  
     Vector2 position = new Vector2.zero();
     Vector2 velocity = new Vector2.zero();
  +
  +  Vector2 separationForce = new Vector2.zero();
  +  Vector2 enemyAttractionForce = new Vector2.zero();
     Vector2 accumulator = new Vector2.zero();
   
     num angle = 0;
  
positive.code: 
    num team = 0;
  
    Vector2 separationForce = new Vector2.zero();
  
    num maxSpeed = 4;
    num turningAngle = 1;
  
  
negative.code:       }
      }
  
      //accumulator.normalize();
      //accumulator.scale(maxSpeed.toDouble() / 1000); // 1 maxSpeed = 1000 ms
  //    if (accumulator.length > maxSpeed) {
  //      accumulator.normalize();
  //      accumulator.scale(maxSpeed.toDouble());
  //    }
  
      velocity = accumulator;
      position = position + velocity * dt;
      //position.setValues(position.x.toDouble() + 0.01, position.y.toDouble() + 0.01);
    }
  
  
    void drawLineTo(num x, num y) {
      ctx.lineWidth = 0.02;
      ctx.beginPath();
      ctx.moveTo(0, 0);
      ctx.lineTo(x, y);
      ctx.stroke();
    }
  
    void draw(html.CanvasRenderingContext2D ctx, num dt) {
      ctx.save();
  