Source: https://groups.csail.mit.edu/sdg/pubs/2013/onward13-red.pdf