Source: https://is.muni.cz/th/mql1k/BP_Herudek_finalni_verze.pdf