https://courses.grainger.illinois.edu/ece210/su2020/secure/lab/Sp20_ECE210_L2_online-prelab.pdf