Final submission for programing assignment #2