Source: https://personal.ems.psu.edu/~radovic/Chapter4.pdf