Source: https://publications.polymtl.ca/1664/1/2014_GrzegorzWielinski.pdf