fixed valid move check