Checkmate implementation