add some update and add post function