[UPDATE]: Updated Comments and Code Formated.