Tutorial from https://sirius.chem.vt.edu/wiki/doku.php?id=crawdad:programming:project3