Added comments/documentation to all the methods and sections.