added lots of comments and did stuff 21/9