Added needed comments
added a lot