add comments to describe each operations