Source: https://hal.inria.fr/file/index/docid/596242/filename/bouquin.pdf