https://courses.grainger.illinois.edu/ece333/fa2021/handouts/ECE_333_Lecture 1- Introduction and overview_C.pdf