Added comments for all classes and methods