anchor.diff:              continue;
           }
           if(col_drop_count > 0) { // Holes below, drop it
  -          dropProduct(x, y, x, y+col_drop_count);
  +          dropProduct(x, y, x, y+col_drop_count, col_drop_count);
           }
         }
  -      // Drop more from the top
  +      
  +      // Drop from the top - animation time depends on how many cols to drop      
         for(int i=0; i<col_drop_count; ++i) {
           ++dropping_products;
           int face_id = 1 + _rng.nextInt(7);
  
positive.code: const GRID_COLS = 8;   // grid columns
  const GRID_WIDTH = 60;  // grid cell width
  const GRID_HEIGHT = 60; // grid cell height
  
  // game states
  const WAITING = 0;      // Waiting for player move
  
negative.code:           ..x = x*GRID_WIDTH
            ..y = -(i+1)*GRID_HEIGHT;
          this.addChild(product);
          var tween = new Tween(product, DROP_TIME*col_drop_count, TransitionFunction.linear)
            ..animate.y.to((col_drop_count-i-1)*GRID_HEIGHT)
            ..onComplete = () => onDropProductComplete(product);
          _juggler.add(tween);
  