update some functions