https://courses.grainger.illinois.edu/ece313/sp2025/secure/Section-G-2025/project1/project1-task-1.pdf