add comment for each function