Source: https://kilianfatras.github.io/pdf/thesis_kf.pdf