Source: https://inria.hal.science/hal-00934720/document