Refactoring
checkmate evaluation