Commented the file for easier understanding