Programming Assignment 2 ver 2

Created comments for each step of the functions to explain what is
happening.  This really helped me better understand how this works.
Revert "Programming Assignment 2 ver 2"

This reverts commit fb854810a4dda4772a3a8ef457381e7bba4c5ab1.