Final submission for Programming Assignment #2