Source: https://publications.polymtl.ca/269/1/2010_HakimAoudjit.pdf