Source: https://www.cs.cmu.edu/~rtongia/ICT4SD_Ch_2--ICT.pdf