Source: https://perso.univ-rennes1.fr/alain.herreman/herreman_source_book.pdf