anchor.diff:  
       return blobs;
   }
  +
  +int threeConnectedCount(List<List<Cell>> board){
  +    int threeCount = 0;
  +    for(int row = 0; row < 6; row++){
  +        for(int col = 0; col < board[row].length; col++){
  +            Point cp = new Point(col, row);
  +            Cell current = board[row][col];
  +            List<Point> valids = validNeighbors(cp, board);
  +            if(current != Cell.empty &&
  +            current != Cell.skull &&
  +            valids.where((valid) => cellAt(board, valid) == current).length == 3){
  +                threeCount++;
  +            }
  +        }
  +    }
  +    return threeCount;
  +}
  +
  +int twoConnectedCount(List<List<Cell>> board){
  +    int twoCount = 0;
  +    for(int row = 0; row < 6; row++){
  +        for(int col = 0; col < board[row].length; col++){
  +            Point cp = new Point(col, row);
  +            Cell current = board[row][col];
  +            List<Point> valids = validNeighbors(cp, board);
  +            if(current != Cell.empty &&
  +            current != Cell.skull &&
  +            valids.where((valid) => cellAt(board, valid) == current).length == 2){
  +                twoCount++;
  +            }
  +        }
  +    }
  +    return twoCount;
  +}
  
positive.code:         acc.add(current);
          closed.add(current);
          //generate neighbors and recurse
          List<Point> valids = current.neighbors4.where((neighbor) =>
              neighbor.x >= 0 && neighbor.x < board[current.y].length &&
              neighbor.y >= 0 && neighbor.y < 6
          ).toList();
  
          for(Point valid in valids){
              if(!open.contains(valid) && !closed.contains(valid)){
  
negative.code: Map<int, Set<Point>> connectedColors(List<List<Cell>> board){
      Map<int, Set<Point>> blobs = new Map<int, Set<Point>>();
      Map<int, Set<int>> equivs = new Map<int, Set<int>>();
      DisJointPoints groups = new DisJointPoints();
      int groupIndex = 0;
      //TODO scan map, build blob and equivalency list
      //first pass
      for(int row = 0; row < 6; row++){
  