updated with the comments