modify some functions.