Source: https://oatao.univ-toulouse.fr/7545/1/nogueira.pdf