Added a bunch of comments, some more helpful than others