Source: https://www.tdx.cat/bitstream/handle/10803/400762/CSC_TESIS.pdf