Added lots of comments
Added lots of comments