Added lots of comments pt. 1