Source: https://cse.usf.edu/~mlabrador/Share/workshops/papers/p230-rossi.pdf