Source: https://publications.polymtl.ca/183/2/2009_Pol-EwenManach.pdf