update and add comments