Added new comments, explain method reduce