Further Comments

More comments added to each function to explain them in more depth.