https://www.cse.unsw.edu.au/~cs9313/20T2/slides/L5.pdf
https://drive.google.com/drive/folders/13_vsxSIEU9TDg1TCjYEwOidh0x3dU6es