impl: floodfill