Source: https://hal.inria.fr/file/index/docid/443791/filename/2009_TH_Juan.pdf