Source: https://hal.inria.fr/inria-00187468v1/file/master_ben_zineb.pdf