https://courses.grainger.illinois.edu/cs498ac3/fa2020/Files/Lecture_25_Scribe.pdf