https://courses.physics.illinois.edu/phys596/fa2015/StudentWork/Team4_Final.pdf