Added bunch of comments