Source: https://repositorio.ipl.pt/bitstream/10400.21/4693/3/relatorio.pdf