Added comments for each methods for readability