adding plenty of comments