lots of comments added