Source: https://cups.cs.cmu.edu/soups/2012/proceedings/a11_Fahl.pdf