fixed, need to improve the efficiency of validate move still