12.8 update some functions