Add all changes from students.

This is the final version that will be used at the Grove City College BEST competition.