Added an extensive amount of comments