modify some func