Source: https://www.theseus.fi/bitstream/handle/10024/230887/FINAL_THESIS_published.pdf