update specs
update specs
prevent move generation from moving into check
reorganize Search using strategy pattern