Source: https://savoirs.usherbrooke.ca/bitstream/handle/11143/12158/Pitre_Durocher_Mathieu_MSc_2018.pdf