Source: https://savoirs.usherbrooke.ca/bitstream/handle/11143/6031/Tisluck_Gabriel_MSc_2014.pdf