Added some notes in the comments