def division(sheet, manager, **kwargs):
    """Cell division happens through cell growth up to a critical volume,
    followed by actual division of the face.

    Parameters
    ----------
    sheet : a `Sheet` object
    manager : an `EventManager` instance
    face_id : int,
      index of the mother face
    growth_rate : float, default 0.1
      rate of increase of the prefered volume
    critical_vol : float, default 2.
      volume at which the cells stops to grow and devides

    """
    division_spec = default_division_spec
    division_spec.update(**kwargs)

    face = division_spec["face"]

    division_spec["critical_vol"] *= sheet.specs["face"]["prefered_vol"]

    print(sheet.face_df.loc[face, "vol"], division_spec["critical_vol"])

    if sheet.face_df.loc[face, "vol"] < division_spec["critical_vol"]:
        increase(
            sheet, "face", face, division_spec["growth_rate"], "prefered_vol", True
        )
        manager.append(division, **division_spec)
    else:
        daughter = cell_division(sheet, face, division_spec["geom"])
        sheet.face_df.loc[daughter, "id"] = sheet.face_df.id.max() + 1