anchor.diff:          buffer.context2D.drawImage(image,cursorX,cursorY);
           drawBuffer();
           numPumpkinsInRow ++;
  -        new Timer(new Duration(milliseconds: 1000), () => draw());
  +        history.add(new Point(cursorX, cursorY));
  +        new Timer(new Duration(milliseconds: 100), () => draw());
       }
   }
   
  +
  
positive.code:     int xDirection = 13;
      int yDirection = 0;
      int imageWidth = 13;
      double oddsTurning = .13;
      int minBeforeTurning = 3;
      int numPumpkinsInRow = 0;
      Random rand;
  
      PumpkinDrawer(ImageElement this.image, CanvasElement this.canvas, CanvasElement this.buffer, int seed) {
          rand = new Random(seed);
  
negative.code:         return false;
      }
  
      void teleport() {
          Point newPoint = rand.pickFrom(history);
          cursorY = newPoint.y;
          cursorX = newPoint.x;
      }
  
      void move() {
          if(numPumpkinsInRow > minBeforeTurning && (rand.nextDouble() < oddsTurning || offScreen())) {
              changeDirection();
          }
          cursorY += yDirection;
          cursorX += xDirection;
          //if you're STILL off screen just fucking leave
          if(offScreen() || rand.nextDouble() < teleportationRate) {
              changeDirection();
              teleport();
          }
  
      }
  
      Future<Null> draw() async {
  