link modify and add some functions