Source: https://hal.inria.fr/docs/00/14/11/52/PDF/Texte-article-Limoux.pdf