    max_x = len(heightmap) - 1
    max_y = len(heightmap[0]) - 1

    if x + 1 <= max_x:
        aggregate_basin_coords(x + 1, y, heightmap, init=False)
    if y + 1 <= max_y:
        aggregate_basin_coords(x, y + 1, heightmap, init=False)
    if x - 1 >= 0:
        aggregate_basin_coords(x - 1, y, heightmap, init=False)
    if y - 1 >= 0:
        aggregate_basin_coords(x, y - 1, heightmap, init=False)