Source: https://staff.info.unamur.be/dbm/publication/2003/er03.pdf