Source: https://orbilu.uni.lu/bitstream/10993/24766/1/Workshop%2016%20mai%20.pdf