Source: http://uregina.ca/~eastalla/2018amidemech.pdf