Added Comments

Added some commentary to make the program more digestible
More thorough commenting