Source: https://www.ocl-journal.org/articles/ocl/pdf/2008/01/ocl2008151p46.pdf