updated validMove