Source: http://beru.univ-brest.fr/cheddar/contribs/educational/ubo/TUTORIAL-SPLIT-2021/intro.pdf