Source: https://www.ics.uci.edu/~taylor/documents/2002-REST-TOIT.pdf