refs #2, branch ready for assignment2