Added comments for the class and functions