reduce useless operation