update and add a lot of comment