Update to final, turn-in version

See history for previous code/thought processes