rename func name and fix logic

get_new_value -> gen_new_value