Added move validation algorithms