Source: https://research.ics.aalto.fi/airc/reports/R0809/eiml.pdf