https://courses.grainger.illinois.edu/eng110/fa2019/lectures/Week7-1&2-STAR-PartnerDynamics.pdf