Source: https://hal.inria.fr/file/index/docid/37716/filename/jres05-article.pdf