diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,18 @@
 # Releases
 
+## chessIO 0.7.0.0
+
+- Remove IsSquare class and add three newtye'd Ints: Square, Rank, File (inspired by [issue 5](https://github.com/mlang/chessIO/issues/5))
+- Add HasCallStack to partial doPly and toSAN (thanks Oleg Grenrus)
+- instance IsString Position based on fromFEN
+- instance Binary Position
+- instance Hashable Position
+- instance Binary Ply
+- instance Unbox Ply
+- New functions: rank, file, rankChar, fileChar, toCoord
+- New module: Game.Chess.ECO
+- Chess.Game.UCI: PV is now an unboxed vector
+
 ## chessIO 0.6.1.1
 
 - Fix [half-move counter not being reset on pawn push or capture](https://github.com/mlang/chessIO/issues/2) (Thanks to Oleg Grenrus)
diff --git a/app/cboard.hs b/app/cboard.hs
--- a/app/cboard.hs
+++ b/app/cboard.hs
@@ -17,7 +17,7 @@
     ( fromFEN, fromUCI, isDark, legalPlies, pieceAt, startpos,
       Color(Black, White),
       PieceType(King, Pawn, Knight, Bishop, Rook, Queen),
-      Ply, Position, Sq(H8, A1) )
+      Ply, Position, Square(H8, A1) )
 import Game.Chess.Polyglot
     ( PolyglotBook, defaultBook, readPolyglotFile, bookPlies, bookPly )
 import Game.Chess.SAN ( fromSAN, toSAN, unsafeToSAN, varToSAN )
diff --git a/app/cbookview.hs b/app/cbookview.hs
--- a/app/cbookview.hs
+++ b/app/cbookview.hs
@@ -1,53 +1,55 @@
 {-# LANGUAGE TemplateHaskell #-}
-import Prelude hiding (last)
-import Control.Monad ( void )
-import Data.Foldable ( foldl', toList )
-import Data.Ix
-import Data.List ( elemIndex, intersperse )
-import Data.List.Extra ( chunksOf )
-import Data.List.NonEmpty (NonEmpty)
-import qualified Data.List.NonEmpty as NonEmpty
-import Data.Maybe ( fromJust, fromMaybe )
-import Data.Tree ( Tree(..), Forest )
-import Data.Tree.Zipper ( TreePos, Full
-                        , label, forest, fromForest, nextTree, prevTree
-                        )
-import qualified Data.Tree.Zipper as TreePos
-import qualified Data.Vector as Vec
-import Game.Chess ( Color(..), PieceType(..), Sq(..), toIndex, isDark
-                  , Position, color, startpos, pieceAt, toFEN
-                  , Ply, plyTarget, doPly
-                  )
-import Game.Chess.Polyglot ( defaultBook, bookForest, readPolyglotFile )
-import Game.Chess.PGN ( readPGNFile, pgnForest )
-import Game.Chess.SAN ( toSAN, varToSAN )
-import Game.Chess.Tree ( plyForest, pathTree )
-import Lens.Micro ( over, (&), (^.), (.~) )
-import Lens.Micro.TH ( makeLenses )
-import qualified Graphics.Vty as V
+import           Control.Lens         (makeLenses, over, (&), (.~), (^.))
+import           Control.Monad        (void)
+import           Data.Foldable        (foldl', toList)
+import           Data.Ix
+import           Data.List            (elemIndex, intersperse)
+import           Data.List.Extra      (chunksOf)
+import           Data.List.NonEmpty   (NonEmpty, cons)
+import qualified Data.List.NonEmpty   as NonEmpty
+import           Data.Maybe           (fromJust, fromMaybe)
+import           Data.Tree            (Forest, Tree (..), foldTree)
+import           Data.Tree.Zipper     (Full, TreePos, forest, fromForest, label,
+                                       nextTree, prevTree)
+import qualified Data.Tree.Zipper     as TreePos
+import qualified Data.Vector          as Vec
+import           Game.Chess           (Color (..), PieceType (..), Ply,
+                                       Position, Square (A1, H8), color, doPly,
+                                       isDark, pieceAt, plyTarget, startpos,
+                                       toFEN)
+import           Game.Chess.ECO       (Opening (..), defaultECO)
+import qualified Game.Chess.ECO       as ECO
+import           Game.Chess.PGN       (pgnForest, readPGNFile)
+import           Game.Chess.Polyglot  (bookForest, defaultBook,
+                                       readPolyglotFile)
+import           Game.Chess.SAN       (toSAN, varToSAN)
+import           Game.Chess.Tree      (plyForest)
+import qualified Graphics.Vty         as V
+import           Prelude              hiding (last)
 
-import Brick.Main ( App(..), defaultMain, continue, halt )
-import qualified Brick.Focus as F
-import qualified Brick.Widgets.List as L
-import Brick.AttrMap (AttrName, attrMap)
-import Brick.Util (on)
-import Brick.Types ( EventM, Next, Widget, Location(Location), BrickEvent( VtyEvent ) )
-import Brick.Widgets.Core ( showCursor, withAttr, hLimit, vLimit, hBox, vBox, str, strWrap
-                          , (<+>), (<=>)
-                          )
-import Brick.Widgets.Center ( hCenter )
-import Brick.Widgets.Border ( border )
-import System.FilePath
-import System.Environment ( getArgs )
+import           Brick.AttrMap        (AttrName, attrMap)
+import qualified Brick.Focus          as F
+import           Brick.Main           (App (..), continue, defaultMain, halt)
+import           Brick.Types          (BrickEvent (VtyEvent), EventM,
+                                       Location (Location), Next, Widget)
+import           Brick.Util           (on)
+import           Brick.Widgets.Border (border, borderWithLabel)
+import           Brick.Widgets.Center (hCenter)
+import           Brick.Widgets.Core   (hBox, hLimit, showCursor, str, strWrap,
+                                       txt, txtWrap, vBox, vLimit, withAttr,
+                                       (<+>), (<=>))
+import qualified Brick.Widgets.List   as L
+import           System.Environment   (getArgs)
+import           System.FilePath
 
 data Name = List | Board | BoardStyle deriving (Show, Ord, Eq)
 
-type Style a = Position -> Sq -> Widget a
+type Style a = Position -> Square -> Widget a
 
 data St = St { _initialPosition :: Position
-             , _treePos :: TreePos Full (NonEmpty Ply)
-             , _boardStyle :: L.List Name (String, Style Name)
-             , _focusRing :: F.FocusRing Name
+             , _treePos         :: TreePos Full (NonEmpty Ply)
+             , _boardStyle      :: L.List Name (String, Style Name)
+             , _focusRing       :: F.FocusRing Name
              }
 
 makeLenses ''St
@@ -56,7 +58,7 @@
 position st = foldl' doPly (st^.initialPosition) (st^.treePos & label)
 previousPosition st = foldl' doPly (st^.initialPosition) (st^.treePos & label & NonEmpty.init)
 
-targetSquare :: St -> Int
+targetSquare :: St -> Square
 targetSquare = plyTarget . NonEmpty.last . label . (^. treePos)
 
 elemList :: Eq a => n -> a -> [a] -> L.List n a
@@ -71,7 +73,7 @@
 selectedAttr :: AttrName
 selectedAttr = "selected"
 
-renderPosition :: Position -> Color -> Maybe Int -> Style Name -> Widget Name
+renderPosition :: Position -> Color -> Maybe Square -> Style Name -> Widget Name
 renderPosition pos persp tgt sty = ranks <+> border board <=> files where
   rev :: [a] -> [a]
   rev = if persp == Black then reverse else id
@@ -79,8 +81,8 @@
   files = str $ rev "   a b c d e f g h   "
   board = hLimit 17 . vLimit 8 . vBox $ map (hBox . spacer . map pc) squares
   squares = reverse $ chunksOf 8 $ rev [A1 .. H8]
-  c sq | Just t <- tgt, t == toIndex sq = showCursor Board $ Location (0,0)
-       | otherwise                      = id
+  c sq | Just t <- tgt, t == sq = showCursor Board $ Location (0,0)
+       | otherwise              = id
   pc sq = c sq $ sty pos sq
   spacer = (str " " :) . (<> [str " "]) . intersperse (str " ")
 
@@ -113,8 +115,8 @@
 putCursorIf False _ _  = id
 
 withAttrIf :: Bool -> AttrName -> Widget n -> Widget n
-withAttrIf True attr   = withAttr attr
-withAttrIf False _     = id
+withAttrIf True attr = withAttr attr
+withAttrIf False _   = id
 
 type Command = St -> EventM Name (Next St)
 
@@ -171,9 +173,10 @@
   appStartEvent = pure
   appDraw st = [ui] where
     ui = hBox [ hLimit 9 list
-              , hLimit 23 $ hCenter board
+              , hLimit 23 $ hCenter board <=> str " " <=> eco
               , hCenter . hLimit 40 $ str " " <=> var
               ]
+      <=> str " "
       <=> (str "FEN: " <+> fen)
       <=> str " "
       <=> hBox [str "Board style (+/- to change): ", style]
@@ -181,6 +184,11 @@
                , hCenter $ str " "
                , str "ESC (q) = Quit"
                ]
+    eco = maybe (str " ") drawECO (ECO.lookup (position st) defaultECO)
+    drawECO co = borderWithLabel (str "ECO " <+> txt (coCode co)) $
+      case coVariation co of
+        Nothing        -> txtWrap (coName co)
+        Just variation -> txtWrap (coName co) <=> txtWrap variation
     style = vLimit 1 $ L.renderList drawStyle True (st^.boardStyle)
     drawStyle foc (n, _) = putCursorIf foc BoardStyle (0,0) $ str n
     selectedStyle = maybe english (snd . snd) $
@@ -188,7 +196,7 @@
     list = L.renderList (drawPly (previousPosition st)) True (plyList st)
     drawPly p foc = putCursorIf foc List (0,0)
                   . withAttrIf foc selectedAttr
-                  . str . toSAN p 
+                  . str . toSAN p
     board = renderPosition (position st) (color (previousPosition st)) (Just . targetSquare $ st) selectedStyle
     var = strWrap . varToSAN (st^.initialPosition) $ st^.treePos & label & toList
     fen = str . toFEN $ position st
@@ -212,6 +220,9 @@
   pos = startpos
   fr = F.focusRing [List, Board, BoardStyle]
   sl = L.list BoardStyle (Vec.fromList styles) 1
+
+pathTree :: Tree a -> Tree (NonEmpty a)
+pathTree = foldTree $ \a -> Node (pure a) . (fmap . fmap) (cons a)
 
 main :: IO ()
 main = do
diff --git a/book/eco.pgn b/book/eco.pgn
new file mode 100644
--- /dev/null
+++ b/book/eco.pgn
@@ -0,0 +1,12143 @@
+{
+A PGN file of ECO classifications distributed with the PGN extraction
+program, pgn-extract. I believe that the original file from which I
+generated this was put together by Ewart Shaw, Franz Hemmer and others,
+to whom appropriate thanks and acknowledgement is due.  Permission has
+been granted for its inclusion with the pgn-extract program, which is
+available from:
+https://www.cs.kent.ac.uk/~djb/pgn-extract/
+
+David J. Barnes (d.j.barnes@kent.ac.uk)
+}
+
+[ECO "A00"]
+[Opening "Polish (Sokolsky) opening"]
+
+1. b4 *
+
+[ECO "A00"]
+[Opening "Polish"]
+[Variation "Tuebingen variation"]
+
+1. b4 Nh6 *
+
+[ECO "A00"]
+[Opening "Polish"]
+[Variation "Outflank variation"]
+
+1. b4 c6 *
+
+[ECO "A00"]
+[Opening "Benko's opening"]
+
+1. g3 *
+
+[ECO "A00"]
+[Opening "Lasker simul special"]
+
+1. g3 h5 *
+
+[ECO "A00"]
+[Opening "Benko's opening"]
+[Variation "reversed Alekhine"]
+
+1. g3 e5 2. Nf3 *
+
+[ECO "A00"]
+[Opening "Grob's attack"]
+
+1. g4 *
+
+[ECO "A00"]
+[Opening "Grob"]
+[Variation "spike attack"]
+
+1. g4 d5 2. Bg2 c6 3. g5 *
+
+[ECO "A00"]
+[Opening "Grob"]
+[Variation "Fritz gambit"]
+
+1. g4 d5 2. Bg2 Bxg4 3. c4 *
+
+[ECO "A00"]
+[Opening "Grob"]
+[Variation "Romford counter-gambit"]
+
+1. g4 d5 2. Bg2 Bxg4 3. c4 d4 *
+
+[ECO "A00"]
+[Opening "Clemenz (Mead's, Basman's or de Klerk's) opening"]
+
+1. h3 *
+
+[ECO "A00"]
+[Opening "Global opening"]
+
+1. h3 e5 2. a3 *
+
+[ECO "A00"]
+[Opening "Amar (Paris) opening"]
+
+1. Nh3 *
+
+[ECO "A00"]
+[Opening "Amar gambit"]
+
+1. Nh3 d5 2. g3 e5 3. f4 Bxh3 4. Bxh3 exf4 *
+
+[ECO "A00"]
+[Opening "Dunst (Sleipner, Heinrichsen) opening"]
+
+1. Nc3 *
+
+[ECO "A00"]
+[Opening "Dunst (Sleipner, Heinrichsen) opening"]
+
+1. Nc3 e5 *
+
+[ECO "A00"]
+[Opening "Battambang opening"]
+
+1. Nc3 e5 2. a3 *
+
+[ECO "A00"]
+[Opening "Novosibirsk opening"]
+
+1. Nc3 c5 2. d4 cxd4 3. Qxd4 Nc6 4. Qh4 *
+
+[ECO "A00"]
+[Opening "Anderssen's opening"]
+
+1. a3 *
+
+[ECO "A00"]
+[Opening "Ware (Meadow Hay) opening"]
+
+1. a4 *
+
+[ECO "A00"]
+[Opening "Crab opening"]
+
+1. a4 e5 2. h4 *
+
+[ECO "A00"]
+[Opening "Saragossa opening"]
+
+1. c3 *
+
+[ECO "A00"]
+[Opening "Mieses opening"]
+
+1. d3 *
+
+[ECO "A00"]
+[Opening "Mieses opening"]
+
+1. d3 e5 *
+
+[ECO "A00"]
+[Opening "Valencia opening"]
+
+1. d3 e5 2. Nd2 *
+
+[ECO "A00"]
+[Opening "Venezolana opening"]
+
+1. d3 c5 2. Nc3 Nc6 3. g3 *
+
+[ECO "A00"]
+[Opening "Van't Kruijs opening"]
+
+1. e3 *
+
+[ECO "A00"]
+[Opening "Amsterdam attack"]
+
+1. e3 e5 2. c4 d6 3. Nc3 Nc6 4. b3 Nf6 *
+
+[ECO "A00"]
+[Opening "Gedult's opening"]
+
+1. f3 *
+
+[ECO "A00"]
+[Opening "Hammerschlag (Fried fox/Pork chop opening)"]
+
+1. f3 e5 2. Kf2 *
+
+[ECO "A00"]
+[Opening "Anti-Borg (Desprez) opening"]
+
+1. h4 *
+
+[ECO "A00"]
+[Opening "Durkin's attack"]
+
+1. Na3 *
+
+[ECO "A01"]
+[Opening "Nimzovich-Larsen attack"]
+
+1. b3 *
+
+[ECO "A01"]
+[Opening "Nimzovich-Larsen attack"]
+[Variation "modern variation"]
+
+1. b3 e5 *
+
+[ECO "A01"]
+[Opening "Nimzovich-Larsen attack"]
+[Variation "Indian variation"]
+
+1. b3 Nf6 *
+
+[ECO "A01"]
+[Opening "Nimzovich-Larsen attack"]
+[Variation "classical variation"]
+
+1. b3 d5 *
+
+[ECO "A01"]
+[Opening "Nimzovich-Larsen attack"]
+[Variation "English variation"]
+
+1. b3 c5 *
+
+[ECO "A01"]
+[Opening "Nimzovich-Larsen attack"]
+[Variation "Dutch variation"]
+
+1. b3 f5 *
+
+[ECO "A01"]
+[Opening "Nimzovich-Larsen attack"]
+[Variation "Polish variation"]
+
+1. b3 b5 *
+
+[ECO "A01"]
+[Opening "Nimzovich-Larsen attack"]
+[Variation "symmetrical variation"]
+
+1. b3 b6 *
+
+[ECO "A02"]
+[Opening "Bird's opening"]
+
+1. f4 *
+
+[ECO "A02"]
+[Opening "Bird"]
+[Variation "From gambit"]
+
+1. f4 e5 *
+
+[ECO "A02"]
+[Opening "Bird"]
+[Variation "From gambit, Lasker variation"]
+
+1. f4 e5 2. fxe5 d6 3. exd6 Bxd6 4. Nf3 g5 *
+
+[ECO "A02"]
+[Opening "Bird"]
+[Variation "From gambit, Lipke variation"]
+
+1. f4 e5 2. fxe5 d6 3. exd6 Bxd6 4. Nf3 Nh6 5. d4 *
+
+[ECO "A02"]
+[Opening "Bird's opening, Swiss gambit"]
+
+1. f4 f5 2. e4 fxe4 3. Nc3 Nf6 4. g4 *
+
+[ECO "A02"]
+[Opening "Bird"]
+[Variation "Hobbs gambit"]
+
+1. f4 g5 *
+
+[ECO "A03"]
+[Opening "Bird's opening"]
+
+1. f4 d5 *
+
+[ECO "A03"]
+[Opening "Mujannah opening"]
+
+1. f4 d5 2. c4 *
+
+[ECO "A03"]
+[Opening "Bird's opening"]
+[Variation "Williams gambit"]
+
+1. f4 d5 2. e4 *
+
+[ECO "A03"]
+[Opening "Bird's opening"]
+[Variation "Lasker variation"]
+
+1. f4 d5 2. Nf3 Nf6 3. e3 c5 *
+
+[ECO "A04"]
+[Opening "Reti opening"]
+
+1. Nf3 *
+
+[ECO "A04"]
+[Opening "Reti v Dutch"]
+
+1. Nf3 f5 *
+
+[ECO "A04"]
+[Opening "Reti"]
+[Variation "Pirc-Lisitsin gambit"]
+
+1. Nf3 f5 2. e4 *
+
+[ECO "A04"]
+[Opening "Reti"]
+[Variation "Lisitsin gambit deferred"]
+
+1. Nf3 f5 2. d3 Nf6 3. e4 *
+
+[ECO "A04"]
+[Opening "Reti opening"]
+
+1. Nf3 d6 *
+
+[ECO "A04"]
+[Opening "Reti"]
+[Variation "Wade defence"]
+
+1. Nf3 d6 2. e4 Bg4 *
+
+[ECO "A04"]
+[Opening "Reti"]
+[Variation "Herrstroem gambit"]
+
+1. Nf3 g5 *
+
+[ECO "A05"]
+[Opening "Reti opening"]
+
+1. Nf3 Nf6 *
+
+[ECO "A05"]
+[Opening "Reti"]
+[Variation "King's Indian attack, Spassky's variation"]
+
+1. Nf3 Nf6 2. g3 b5 *
+
+[ECO "A05"]
+[Opening "Reti"]
+[Variation "King's Indian attack"]
+
+1. Nf3 Nf6 2. g3 g6 *
+
+[ECO "A05"]
+[Opening "Reti"]
+[Variation "King's Indian attack, Reti-Smyslov variation"]
+
+1. Nf3 Nf6 2. g3 g6 3. b4 *
+
+[ECO "A06"]
+[Opening "Reti opening"]
+
+1. Nf3 d5 *
+
+[ECO "A06"]
+[Opening "Reti"]
+[Variation "old Indian attack"]
+
+1. Nf3 d5 2. d3 *
+
+[ECO "A06"]
+[Opening "Santasiere's folly"]
+
+1. Nf3 d5 2. b4 *
+
+[ECO "A06"]
+[Opening "Tennison (Lemberg, Zukertort) gambit"]
+
+1. Nf3 d5 2. e4 *
+
+[ECO "A06"]
+[Opening "Reti"]
+[Variation "Nimzovich-Larsen attack"]
+
+1. Nf3 d5 2. b3 *
+
+[ECO "A07"]
+[Opening "Reti"]
+[Variation "King's Indian attack (Barcza system)"]
+
+1. Nf3 d5 2. g3 *
+
+[ECO "A07"]
+[Opening "Reti"]
+[Variation "King's Indian attack, Yugoslav variation"]
+
+1. Nf3 d5 2. g3 Nf6 3. Bg2 c6 4. O-O Bg4 *
+
+[ECO "A07"]
+[Opening "Reti"]
+[Variation "King's Indian attack, Keres variation"]
+
+1. Nf3 d5 2. g3 Bg4 3. Bg2 Nd7 *
+
+[ECO "A07"]
+[Opening "Reti"]
+[Variation "King's Indian attack"]
+
+1. Nf3 d5 2. g3 g6 *
+
+[ECO "A07"]
+[Opening "Reti"]
+[Variation "King's Indian attack, Pachman system"]
+
+1. Nf3 d5 2. g3 g6 3. Bg2 Bg7 4. O-O e5 5. d3 Ne7 *
+
+[ECO "A07"]
+[Opening "Reti"]
+[Variation "King's Indian attack (with ...c5)"]
+
+1. Nf3 d5 2. g3 c5 *
+
+[ECO "A08"]
+[Opening "Reti"]
+[Variation "King's Indian attack"]
+
+1. Nf3 d5 2. g3 c5 3. Bg2 *
+
+[ECO "A08"]
+[Opening "Reti"]
+[Variation "King's Indian attack, French variation"]
+
+1. Nf3 d5 2. g3 c5 3. Bg2 Nc6 4. O-O e6 5. d3 Nf6 6. Nbd2 Be7 7. e4 O-O 8.
+Re1 *
+
+[ECO "A09"]
+[Opening "Reti opening"]
+
+1. Nf3 d5 2. c4 *
+
+[ECO "A09"]
+[Opening "Reti"]
+[Variation "advance variation"]
+
+1. Nf3 d5 2. c4 d4 *
+
+[ECO "A09"]
+[Opening "Reti accepted"]
+
+1. Nf3 d5 2. c4 dxc4 *
+
+[ECO "A09"]
+[Opening "Reti accepted"]
+[Variation "Keres variation"]
+
+1. Nf3 d5 2. c4 dxc4 3. e3 Be6 *
+
+[ECO "A10"]
+[Opening "English opening"]
+
+1. c4 *
+
+[ECO "A10"]
+[Opening "English opening"]
+
+1. c4 g6 *
+
+[ECO "A10"]
+[Opening "English"]
+[Variation "Adorjan defence"]
+
+1. c4 g6 2. e4 e5 *
+
+[ECO "A10"]
+[Opening "English"]
+[Variation "Jaenisch gambit"]
+
+1. c4 b5 *
+
+[ECO "A10"]
+[Opening "English"]
+[Variation "Anglo-Dutch defense"]
+
+1. c4 f5 *
+
+[ECO "A11"]
+[Opening "English"]
+[Variation "Caro-Kann defensive system"]
+
+1. c4 c6 *
+
+[ECO "A12"]
+[Opening "English"]
+[Variation "Caro-Kann defensive system"]
+
+1. c4 c6 2. Nf3 d5 3. b3 *
+
+[ECO "A12"]
+[Opening "English"]
+[Variation "Torre defensive system"]
+
+1. c4 c6 2. Nf3 d5 3. b3 Nf6 4. g3 Bg4 *
+
+[ECO "A12"]
+[Opening "English"]
+[Variation "London defensive system"]
+
+1. c4 c6 2. Nf3 d5 3. b3 Nf6 4. g3 Bf5 *
+
+[ECO "A12"]
+[Opening "English"]
+[Variation "Caro-Kann defensive system"]
+
+1. c4 c6 2. Nf3 d5 3. b3 Nf6 4. Bb2 *
+
+[ECO "A12"]
+[Opening "English"]
+[Variation "Bled variation"]
+
+1. c4 c6 2. Nf3 d5 3. b3 Nf6 4. Bb2 g6 *
+
+[ECO "A12"]
+[Opening "English"]
+[Variation "New York (London) defensive system"]
+
+1. c4 c6 2. Nf3 d5 3. b3 Nf6 4. Bb2 Bf5 *
+
+[ECO "A12"]
+[Opening "English"]
+[Variation "Capablanca's variation"]
+
+1. c4 c6 2. Nf3 d5 3. b3 Nf6 4. Bb2 Bg4 *
+
+[ECO "A12"]
+[Opening "English"]
+[Variation "Caro-Kann defensive system, Bogolyubov variation"]
+
+1. c4 c6 2. Nf3 d5 3. b3 Bg4 *
+
+[ECO "A13"]
+[Opening "English opening"]
+
+1. c4 e6 *
+
+[ECO "A13"]
+[Opening "English"]
+[Variation "Romanishin gambit"]
+
+1. c4 e6 2. Nf3 Nf6 3. g3 a6 4. Bg2 b5 *
+
+[ECO "A13"]
+[Opening "English opening"]
+[Variation "Agincourt variation"]
+
+1. c4 e6 2. Nf3 d5 *
+
+[ECO "A13"]
+[Opening "English"]
+[Variation "Wimpey system"]
+
+1. c4 e6 2. Nf3 d5 3. b3 Nf6 4. Bb2 c5 5. e3 *
+
+[ECO "A13"]
+[Opening "English opening"]
+[Variation "Agincourt variation"]
+
+1. c4 e6 2. Nf3 d5 3. g3 *
+
+[ECO "A13"]
+[Opening "English"]
+[Variation "Kurajica defence"]
+
+1. c4 e6 2. Nf3 d5 3. g3 c6 *
+
+[ECO "A13"]
+[Opening "English"]
+[Variation "Neo-Catalan"]
+
+1. c4 e6 2. Nf3 d5 3. g3 Nf6 *
+
+[ECO "A13"]
+[Opening "English"]
+[Variation "Neo-Catalan accepted"]
+
+1. c4 e6 2. Nf3 d5 3. g3 Nf6 4. Bg2 dxc4 *
+
+[ECO "A14"]
+[Opening "English"]
+[Variation "Neo-Catalan declined"]
+
+1. c4 e6 2. Nf3 d5 3. g3 Nf6 4. Bg2 Be7 5. O-O *
+
+[ECO "A14"]
+[Opening "English"]
+[Variation "Symmetrical, Keres defence"]
+
+1. c4 e6 2. Nf3 d5 3. g3 Nf6 4. Bg2 Be7 5. O-O c5 6. cxd5 Nxd5 7. Nc3 Nc6 *
+
+[ECO "A15"]
+[Opening "English, 1...Nf6 (Anglo-Indian defense)"]
+
+1. c4 Nf6 *
+
+[ECO "A15"]
+[Opening "English orang-utan"]
+
+1. c4 Nf6 2. b4 *
+
+[ECO "A15"]
+[Opening "English opening"]
+
+1. c4 Nf6 2. Nf3 *
+
+[ECO "A16"]
+[Opening "English opening"]
+
+1. c4 Nf6 2. Nc3 *
+
+[ECO "A16"]
+[Opening "English"]
+[Variation "Anglo-Gruenfeld defense"]
+
+1. c4 Nf6 2. Nc3 d5 *
+
+[ECO "A16"]
+[Opening "English"]
+[Variation "Anglo-Gruenfeld, Smyslov defense"]
+
+1. c4 Nf6 2. Nc3 d5 3. cxd5 Nxd5 4. g3 g6 5. Bg2 Nxc3 *
+
+[ECO "A16"]
+[Opening "English"]
+[Variation "Anglo-Gruenfeld, Czech defense"]
+
+1. c4 Nf6 2. Nc3 d5 3. cxd5 Nxd5 4. g3 g6 5. Bg2 Nb6 *
+
+[ECO "A16"]
+[Opening "English"]
+[Variation "Anglo-Gruenfeld defense"]
+
+1. c4 Nf6 2. Nc3 d5 3. cxd5 Nxd5 4. Nf3 *
+
+[ECO "A16"]
+[Opening "English"]
+[Variation "Anglo-Gruenfeld defense, Korchnoi variation"]
+
+1. c4 Nf6 2. Nc3 d5 3. cxd5 Nxd5 4. Nf3 g6 5. g3 Bg7 6. Bg2 e5 *
+
+[ECO "A17"]
+[Opening "English opening"]
+
+1. c4 Nf6 2. Nc3 e6 *
+
+[ECO "A17"]
+[Opening "English"]
+[Variation "Queens Indian formation"]
+
+1. c4 Nf6 2. Nc3 e6 3. Nf3 b6 *
+
+[ECO "A17"]
+[Opening "English"]
+[Variation "Queens Indian, Romanishin variation"]
+
+1. c4 Nf6 2. Nc3 e6 3. Nf3 b6 4. e4 Bb7 5. Bd3 *
+
+[ECO "A17"]
+[Opening "English"]
+[Variation "Nimzo-English opening"]
+
+1. c4 Nf6 2. Nc3 e6 3. Nf3 Bb4 *
+
+[ECO "A18"]
+[Opening "English"]
+[Variation "Mikenas-Carls variation"]
+
+1. c4 Nf6 2. Nc3 e6 3. e4 *
+
+[ECO "A18"]
+[Opening "English"]
+[Variation "Mikenas-Carls, Flohr variation"]
+
+1. c4 Nf6 2. Nc3 e6 3. e4 d5 4. e5 *
+
+[ECO "A18"]
+[Opening "English"]
+[Variation "Mikenas-Carls, Kevitz variation"]
+
+1. c4 Nf6 2. Nc3 e6 3. e4 Nc6 *
+
+[ECO "A19"]
+[Opening "English"]
+[Variation "Mikenas-Carls, Sicilian variation"]
+
+1. c4 Nf6 2. Nc3 e6 3. e4 c5 *
+
+[ECO "A20"]
+[Opening "English opening"]
+
+1. c4 e5 *
+
+[ECO "A20"]
+[Opening "English, Nimzovich variation"]
+
+1. c4 e5 2. Nf3 *
+
+[ECO "A20"]
+[Opening "English, Nimzovich, Flohr variation"]
+
+1. c4 e5 2. Nf3 e4 *
+
+[ECO "A21"]
+[Opening "English opening"]
+
+1. c4 e5 2. Nc3 *
+
+[ECO "A21"]
+[Opening "English, Troeger defence"]
+
+1. c4 e5 2. Nc3 d6 3. g3 Be6 4. Bg2 Nc6 *
+
+[ECO "A21"]
+[Opening "English, Keres variation"]
+
+1. c4 e5 2. Nc3 d6 3. g3 c6 *
+
+[ECO "A21"]
+[Opening "English opening"]
+
+1. c4 e5 2. Nc3 d6 3. Nf3 *
+
+[ECO "A21"]
+[Opening "English, Smyslov defence"]
+
+1. c4 e5 2. Nc3 d6 3. Nf3 Bg4 *
+
+[ECO "A21"]
+[Opening "English, Kramnik-Shirov counterattack"]
+
+1. c4 e5 2. Nc3 Bb4 *
+
+[ECO "A22"]
+[Opening "English opening"]
+
+1. c4 e5 2. Nc3 Nf6 *
+
+[ECO "A22"]
+[Opening "English"]
+[Variation "Bellon gambit"]
+
+1. c4 e5 2. Nc3 Nf6 3. Nf3 e4 4. Ng5 b5 *
+
+[ECO "A22"]
+[Opening "English"]
+[Variation "Carls' Bremen system"]
+
+1. c4 e5 2. Nc3 Nf6 3. g3 *
+
+[ECO "A22"]
+[Opening "English"]
+[Variation "Bremen, reverse dragon"]
+
+1. c4 e5 2. Nc3 Nf6 3. g3 d5 *
+
+[ECO "A22"]
+[Opening "English"]
+[Variation "Bremen, Smyslov system"]
+
+1. c4 e5 2. Nc3 Nf6 3. g3 Bb4 *
+
+[ECO "A23"]
+[Opening "English"]
+[Variation "Bremen system, Keres variation"]
+
+1. c4 e5 2. Nc3 Nf6 3. g3 c6 *
+
+[ECO "A24"]
+[Opening "English"]
+[Variation "Bremen system with ...g6"]
+
+1. c4 e5 2. Nc3 Nf6 3. g3 g6 *
+
+[ECO "A25"]
+[Opening "English"]
+[Variation "Sicilian reversed"]
+
+1. c4 e5 2. Nc3 Nc6 *
+
+[ECO "A25"]
+[Opening "English"]
+[Variation "closed system"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 *
+
+[ECO "A25"]
+[Opening "English"]
+[Variation "closed, Taimanov variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. e3 d6 6. Nge2 Nh6 *
+
+[ECO "A25"]
+[Opening "English"]
+[Variation "closed, Hort variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. e3 d6 6. Nge2 Be6 *
+
+[ECO "A25"]
+[Opening "English"]
+[Variation "closed, 5.Rb1"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Rb1 *
+
+[ECO "A25"]
+[Opening "English"]
+[Variation "closed, 5.Rb1 Taimanov variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Rb1 Nh6 *
+
+[ECO "A25"]
+[Opening "English"]
+[Variation "closed system (without ...d6)"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. d3 *
+
+[ECO "A26"]
+[Opening "English"]
+[Variation "closed system"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. d3 d6 *
+
+[ECO "A26"]
+[Opening "English"]
+[Variation "Botvinnik system"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. d3 d6 6. e4 *
+
+[ECO "A27"]
+[Opening "English"]
+[Variation "three knights system"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 *
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "four knights system"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 *
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "Nenarokov variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. d4 exd4 5. Nxd4 Bb4 6. Bg5 h6 7. Bh4 
+Bxc3+ 8. bxc3 Ne5 *
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "Bradley Beach variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. d4 e4 *
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "four knights, Nimzovich variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. e4 *
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "four knights, Marini variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. a3 *
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "four knights, Capablanca variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. d3 *
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "four knights, 4.e3"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. e3 *
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "four knights, Stean variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. e3 Bb4 5. Qc2 O-O 6. Nd5 Re8 7. Qf5 *
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "four knights, Romanishin variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. e3 Bb4 5. Qc2 Bxc3 *
+
+[ECO "A29"]
+[Opening "English"]
+[Variation "four knights, kingside fianchetto"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. g3 *
+
+[ECO "A30"]
+[Opening "English"]
+[Variation "symmetrical variation"]
+
+1. c4 c5 *
+
+[ECO "A30"]
+[Opening "English"]
+[Variation "symmetrical, hedgehog system"]
+
+1. c4 c5 2. Nf3 Nf6 3. g3 b6 4. Bg2 Bb7 5. O-O e6 6. Nc3 Be7 *
+
+[ECO "A30"]
+[Opening "English"]
+[Variation "symmetrical, hedgehog, flexible formation"]
+
+1. c4 c5 2. Nf3 Nf6 3. g3 b6 4. Bg2 Bb7 5. O-O e6 6. Nc3 Be7 7. d4 cxd4 8.
+Qxd4 d6 9. Rd1 a6 10. b3 Nbd7 *
+
+[ECO "A31"]
+[Opening "English"]
+[Variation "symmetrical, Benoni formation"]
+
+1. c4 c5 2. Nf3 Nf6 3. d4 *
+
+[ECO "A32"]
+[Opening "English"]
+[Variation "symmetrical variation"]
+
+1. c4 c5 2. Nf3 Nf6 3. d4 cxd4 4. Nxd4 e6 *
+
+[ECO "A33"]
+[Opening "English"]
+[Variation "symmetrical variation"]
+
+1. c4 c5 2. Nf3 Nf6 3. d4 cxd4 4. Nxd4 e6 5. Nc3 Nc6 *
+
+[ECO "A33"]
+[Opening "English"]
+[Variation "symmetrical, Geller variation"]
+
+1. c4 c5 2. Nf3 Nf6 3. d4 cxd4 4. Nxd4 e6 5. Nc3 Nc6 6. g3 Qb6 *
+
+[ECO "A34"]
+[Opening "English"]
+[Variation "symmetrical variation"]
+
+1. c4 c5 2. Nc3 *
+
+[ECO "A34"]
+[Opening "English"]
+[Variation "symmetrical, three knights system"]
+
+1. c4 c5 2. Nc3 Nf6 3. Nf3 d5 4. cxd5 Nxd5 *
+
+[ECO "A34"]
+[Opening "English"]
+[Variation "symmetrical variation"]
+
+1. c4 c5 2. Nc3 Nf6 3. g3 *
+
+[ECO "A34"]
+[Opening "English"]
+[Variation "symmetrical, Rubinstein system"]
+
+1. c4 c5 2. Nc3 Nf6 3. g3 d5 4. cxd5 Nxd5 5. Bg2 Nc7 *
+
+[ECO "A35"]
+[Opening "English"]
+[Variation "symmetrical variation"]
+
+1. c4 c5 2. Nc3 Nc6 *
+
+[ECO "A35"]
+[Opening "English"]
+[Variation "symmetrical, four knights system"]
+
+1. c4 c5 2. Nc3 Nc6 3. Nf3 Nf6 *
+
+[ECO "A36"]
+[Opening "English"]
+[Variation "symmetrical variation"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 *
+
+[ECO "A36"]
+[Opening "English"]
+[Variation "ultra-symmetrical variation"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 *
+
+[ECO "A36"]
+[Opening "English"]
+[Variation "symmetrical, Botvinnik system reversed"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. e3 e5 *
+
+[ECO "A36"]
+[Opening "English"]
+[Variation "symmetrical, Botvinnik system"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. e4 *
+
+[ECO "A37"]
+[Opening "English"]
+[Variation "symmetrical variation"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Nf3 *
+
+[ECO "A37"]
+[Opening "English"]
+[Variation "symmetrical, Botvinnik system reversed"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Nf3 e5 *
+
+[ECO "A38"]
+[Opening "English"]
+[Variation "symmetrical variation"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Nf3 Nf6 *
+
+[ECO "A38"]
+[Opening "English"]
+[Variation "symmetrical, main line with d3"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Nf3 Nf6 6. O-O O-O 7. d3 *
+
+[ECO "A38"]
+[Opening "English"]
+[Variation "symmetrical, main line with b3"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Nf3 Nf6 6. O-O O-O 7. b3 *
+
+[ECO "A39"]
+[Opening "English"]
+[Variation "symmetrical, main line with d4"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Nf3 Nf6 6. O-O O-O 7. d4 *
+
+[ECO "A40"]
+[Opening "Queen's pawn"]
+
+1. d4 *
+
+[ECO "A40"]
+[Opening "Queen's pawn"]
+[Variation "Lundin (Kevitz-Mikenas) defence"]
+
+1. d4 Nc6 *
+
+[ECO "A40"]
+[Opening "Queen's pawn"]
+[Variation "Charlick (Englund) gambit"]
+
+1. d4 e5 *
+
+[ECO "A40"]
+[Opening "Queen's pawn"]
+[Variation "Englund gambit"]
+
+1. d4 e5 2. dxe5 Nc6 3. Nf3 Qe7 4. Qd5 f6 5. exf6 Nxf6 *
+
+[ECO "A40"]
+[Opening "Queen's pawn"]
+[Variation "English defence"]
+
+1. d4 b6 *
+
+[ECO "A40"]
+[Opening "Polish defence"]
+
+1. d4 b5 *
+
+[ECO "A40"]
+[Opening "Queen's pawn"]
+
+1. d4 e6 *
+
+[ECO "A40"]
+[Opening "Queen's pawn"]
+[Variation "Keres defence"]
+
+1. d4 e6 2. c4 b6 *
+
+[ECO "A40"]
+[Opening "Queen's pawn"]
+[Variation "Franco-Indian (Keres) defence"]
+
+1. d4 e6 2. c4 Bb4+ *
+
+[ECO "A40"]
+[Opening "Modern defence"]
+
+1. d4 g6 *
+
+[ECO "A40"]
+[Opening "Beefeater defence"]
+
+1. d4 g6 2. c4 Bg7 3. Nc3 c5 4. d5 Bxc3+ 5. bxc3 f5 *
+
+[ECO "A41"]
+[Opening "Queen's Pawn"]
+
+1. d4 d6 *
+
+[ECO "A41"]
+[Opening "Old Indian"]
+[Variation "Tartakower (Wade) variation"]
+
+1. d4 d6 2. Nf3 Bg4 *
+
+[ECO "A41"]
+[Opening "Old Indian defence"]
+
+1. d4 d6 2. c4 *
+
+[ECO "A41"]
+[Opening "Modern defence"]
+
+1. d4 d6 2. c4 g6 3. Nc3 Bg7 *
+
+[ECO "A41"]
+[Opening "Robatsch defence"]
+[Variation "Rossolimo variation"]
+
+1. e4 g6 2. d4 Bg7 3. Nf3 d6 4. c4 Bg4 *
+
+[ECO "A42"]
+[Opening "Modern defence"]
+[Variation "Averbakh system"]
+
+1. d4 d6 2. c4 g6 3. Nc3 Bg7 4. e4 *
+
+[ECO "A42"]
+[Opening "Pterodactyl defence"]
+
+1. d4 d6 2. c4 g6 3. Nc3 Bg7 4. e4 c5 5. Nf3 Qa5 *
+
+[ECO "A42"]
+[Opening "Modern defence"]
+[Variation "Averbakh system, Randspringer variation"]
+
+1. d4 d6 2. c4 g6 3. Nc3 Bg7 4. e4 f5 *
+
+[ECO "A42"]
+[Opening "Modern defence"]
+[Variation "Averbakh system, Kotov variation"]
+
+1. d4 d6 2. c4 g6 3. Nc3 Bg7 4. e4 Nc6 *
+
+[ECO "A43"]
+[Opening "Old Benoni defence"]
+
+1. d4 c5 *
+
+[ECO "A43"]
+[Opening "Old Benoni"]
+[Variation "Franco-Benoni defence"]
+
+1. d4 c5 2. d5 e6 3. e4 *
+
+[ECO "A43"]
+[Opening "Old Benoni"]
+[Variation "Mujannah formation"]
+
+1. d4 c5 2. d5 f5 *
+
+[ECO "A43"]
+[Opening "Old Benoni defence"]
+
+1. d4 c5 2. d5 Nf6 *
+
+[ECO "A43"]
+[Opening "Woozle defence"]
+
+1. d4 c5 2. d5 Nf6 3. Nc3 Qa5 *
+
+[ECO "A43"]
+[Opening "Old Benoni defence"]
+
+1. d4 c5 2. d5 Nf6 3. Nf3 *
+
+[ECO "A43"]
+[Opening "Hawk (Habichd) defence"]
+
+1. d4 c5 2. d5 Nf6 3. Nf3 c4 *
+
+[ECO "A43"]
+[Opening "Old Benoni defence"]
+
+1. d4 c5 2. d5 d6 *
+
+[ECO "A43"]
+[Opening "Old Benoni"]
+[Variation "Schmid's system"]
+
+1. d4 c5 2. d5 d6 3. Nc3 g6 *
+
+[ECO "A44"]
+[Opening "Old Benoni defence"]
+
+1. d4 c5 2. d5 e5 *
+
+[ECO "A44"]
+[Opening "Semi-Benoni (`blockade variation')"]
+
+1. d4 c5 2. d5 e5 3. e4 d6 *
+
+[ECO "A45"]
+[Opening "Queen's pawn game"]
+
+1. d4 Nf6 *
+
+[ECO "A45"]
+[Opening "Queen's pawn"]
+[Variation "Bronstein gambit"]
+
+1. d4 Nf6 2. g4 *
+
+[ECO "A45"]
+[Opening "Canard opening"]
+
+1. d4 Nf6 2. f4 *
+
+[ECO "A45"]
+[Opening "Paleface attack"]
+
+1. d4 Nf6 2. f3 *
+
+[ECO "A45"]
+[Opening "Blackmar-Diemer gambit"]
+
+1. d4 Nf6 2. f3 d5 3. e4 *
+
+[ECO "A45"]
+[Opening "Gedult attack"]
+
+1. d4 Nf6 2. f3 d5 3. g4 *
+
+[ECO "A45"]
+[Opening "Trompovsky attack (Ruth, Opovcensky opening)"]
+
+1. d4 Nf6 2. Bg5 *
+
+[ECO "A46"]
+[Opening "Queen's pawn game"]
+
+1. d4 Nf6 2. Nf3 *
+
+[ECO "A46"]
+[Opening "Queen's pawn"]
+[Variation "Torre attack"]
+
+1. d4 Nf6 2. Nf3 e6 3. Bg5 *
+
+[ECO "A46"]
+[Opening "Queen's pawn"]
+[Variation "Torre attack, Wagner gambit"]
+
+1. d4 Nf6 2. Nf3 e6 3. Bg5 c5 4. e4 *
+
+[ECO "A46"]
+[Opening "Queen's pawn"]
+[Variation "Yusupov-Rubinstein system"]
+
+1. d4 Nf6 2. Nf3 e6 3. e3 *
+
+[ECO "A46"]
+[Opening "Doery defence"]
+
+1. d4 Nf6 2. Nf3 Ne4 *
+
+[ECO "A47"]
+[Opening "Queen's Indian defence"]
+
+1. d4 Nf6 2. Nf3 b6 *
+
+[ECO "A47"]
+[Opening "Queen's Indian"]
+[Variation "Marienbad system"]
+
+1. d4 Nf6 2. Nf3 b6 3. g3 Bb7 4. Bg2 c5 *
+
+[ECO "A47"]
+[Opening "Queen's Indian"]
+[Variation "Marienbad system, Berg variation"]
+
+1. d4 Nf6 2. Nf3 b6 3. g3 Bb7 4. Bg2 c5 5. c4 cxd4 6. Qxd4 *
+
+[ECO "A48"]
+[Opening "King's Indian"]
+[Variation "East Indian defence"]
+
+1. d4 Nf6 2. Nf3 g6 *
+
+[ECO "A48"]
+[Opening "King's Indian"]
+[Variation "Torre attack"]
+
+1. d4 Nf6 2. Nf3 g6 3. Bg5 *
+
+[ECO "A48"]
+[Opening "King's Indian"]
+[Variation "London system"]
+
+1. d4 Nf6 2. Nf3 g6 3. Bf4 *
+
+[ECO "A49"]
+[Opening "King's Indian"]
+[Variation "fianchetto without c4"]
+
+1. d4 Nf6 2. Nf3 g6 3. g3 *
+
+[ECO "A50"]
+[Opening "Queen's pawn game"]
+
+1. d4 Nf6 2. c4 *
+
+[ECO "A50"]
+[Opening "Kevitz-Trajkovich defence"]
+
+1. d4 Nf6 2. c4 Nc6 *
+
+[ECO "A50"]
+[Opening "Queen's Indian accelerated"]
+
+1. d4 Nf6 2. c4 b6 *
+
+[ECO "A51"]
+[Opening "Budapest defence declined"]
+
+1. d4 Nf6 2. c4 e5 *
+
+[ECO "A51"]
+[Opening "Budapest"]
+[Variation "Fajarowicz variation"]
+
+1. d4 Nf6 2. c4 e5 3. dxe5 Ne4 *
+
+[ECO "A51"]
+[Opening "Budapest"]
+[Variation "Fajarowicz, Steiner variation"]
+
+1. d4 Nf6 2. c4 e5 3. dxe5 Ne4 4. Qc2 *
+
+[ECO "A52"]
+[Opening "Budapest defence"]
+
+1. d4 Nf6 2. c4 e5 3. dxe5 Ng4 *
+
+[ECO "A52"]
+[Opening "Budapest"]
+[Variation "Adler variation"]
+
+1. d4 Nf6 2. c4 e5 3. dxe5 Ng4 4. Nf3 *
+
+[ECO "A52"]
+[Opening "Budapest"]
+[Variation "Rubinstein variation"]
+
+1. d4 Nf6 2. c4 e5 3. dxe5 Ng4 4. Bf4 *
+
+[ECO "A52"]
+[Opening "Budapest"]
+[Variation "Alekhine variation"]
+
+1. d4 Nf6 2. c4 e5 3. dxe5 Ng4 4. e4 *
+
+[ECO "A52"]
+[Opening "Budapest"]
+[Variation "Alekhine, Abonyi variation"]
+
+1. d4 Nf6 2. c4 e5 3. dxe5 Ng4 4. e4 Nxe5 5. f4 Nec6 *
+
+[ECO "A52"]
+[Opening "Budapest"]
+[Variation "Alekhine variation, Balogh gambit"]
+
+1. d4 Nf6 2. c4 e5 3. dxe5 Ng4 4. e4 d6 *
+
+[ECO "A53"]
+[Opening "Old Indian defence"]
+
+1. d4 Nf6 2. c4 d6 *
+
+[ECO "A53"]
+[Opening "Old Indian"]
+[Variation "Janowski variation"]
+
+1. d4 Nf6 2. c4 d6 3. Nc3 Bf5 *
+
+[ECO "A54"]
+[Opening "Old Indian"]
+[Variation "Ukrainian variation"]
+
+1. d4 Nf6 2. c4 d6 3. Nc3 e5 *
+
+[ECO "A54"]
+[Opening "Old Indian"]
+[Variation "Dus-Khotimirsky variation"]
+
+1. d4 Nf6 2. c4 d6 3. Nc3 e5 4. e3 Nbd7 5. Bd3 *
+
+[ECO "A54"]
+[Opening "Old Indian"]
+[Variation "Ukrainian variation, 4.Nf3"]
+
+1. d4 Nf6 2. c4 d6 3. Nc3 e5 4. Nf3 *
+
+[ECO "A55"]
+[Opening "Old Indian"]
+[Variation "main line"]
+
+1. d4 Nf6 2. c4 d6 3. Nc3 e5 4. Nf3 Nbd7 5. e4 *
+
+[ECO "A56"]
+[Opening "Benoni defence"]
+
+1. d4 Nf6 2. c4 c5 *
+
+[ECO "A56"]
+[Opening "Benoni defence, Hromodka system"]
+
+1. d4 Nf6 2. c4 c5 3. d5 d6 *
+
+[ECO "A56"]
+[Opening "Vulture defence"]
+
+1. d4 Nf6 2. c4 c5 3. d5 Ne4 *
+
+[ECO "A56"]
+[Opening "Czech Benoni defence"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e5 *
+
+[ECO "A56"]
+[Opening "Czech Benoni"]
+[Variation "King's Indian system"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e5 4. Nc3 d6 5. e4 g6 *
+
+[ECO "A57"]
+[Opening "Benko gambit"]
+
+1. d4 Nf6 2. c4 c5 3. d5 b5 *
+
+[ECO "A57"]
+[Opening "Benko gambit half accepted"]
+
+1. d4 Nf6 2. c4 c5 3. d5 b5 4. cxb5 a6 *
+
+[ECO "A57"]
+[Opening "Benko gambit"]
+[Variation "Zaitsev system"]
+
+1. d4 Nf6 2. c4 c5 3. d5 b5 4. cxb5 a6 5. Nc3 *
+
+[ECO "A57"]
+[Opening "Benko gambit"]
+[Variation "Nescafe Frappe attack"]
+
+1. d4 Nf6 2. c4 c5 3. d5 b5 4. cxb5 a6 5. Nc3 axb5 6. e4 b4 7. Nb5 d6 8. 
+Bc4 *
+
+[ECO "A58"]
+[Opening "Benko gambit accepted"]
+
+1. d4 Nf6 2. c4 c5 3. d5 b5 4. cxb5 a6 5. bxa6 *
+
+[ECO "A58"]
+[Opening "Benko gambit"]
+[Variation "Nd2 variation"]
+
+1. d4 Nf6 2. c4 c5 3. d5 b5 4. cxb5 a6 5. bxa6 Bxa6 6. Nc3 d6 7. Nf3 g6 8.
+Nd2 *
+
+[ECO "A58"]
+[Opening "Benko gambit"]
+[Variation "fianchetto variation"]
+
+1. d4 Nf6 2. c4 c5 3. d5 b5 4. cxb5 a6 5. bxa6 Bxa6 6. Nc3 d6 7. Nf3 g6 8.
+g3 *
+
+[ECO "A59"]
+[Opening "Benko gambit"]
+[Variation "7.e4"]
+
+1. d4 Nf6 2. c4 c5 3. d5 b5 4. cxb5 a6 5. bxa6 Bxa6 6. Nc3 d6 7. e4 *
+
+[ECO "A59"]
+[Opening "Benko gambit"]
+[Variation "Ne2 variation"]
+
+1. d4 Nf6 2. c4 c5 3. d5 b5 4. cxb5 a6 5. bxa6 Bxa6 6. Nc3 d6 7. e4 Bxf1 8.
+Kxf1 g6 9. Nge2 *
+
+[ECO "A59"]
+[Opening "Benko gambit"]
+
+1. d4 Nf6 2. c4 c5 3. d5 b5 4. cxb5 a6 5. bxa6 Bxa6 6. Nc3 d6 7. e4 Bxf1 8.
+Kxf1 g6 9. g3 *
+
+[ECO "A59"]
+[Opening "Benko gambit"]
+[Variation "main line"]
+
+1. d4 Nf6 2. c4 c5 3. d5 b5 4. cxb5 a6 5. bxa6 Bxa6 6. Nc3 d6 7. e4 Bxf1 8.
+Kxf1 g6 9. g3 Bg7 10. Kg2 O-O 11. Nf3 *
+
+[ECO "A60"]
+[Opening "Benoni defence"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 *
+
+[ECO "A61"]
+[Opening "Benoni defence"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. Nf3 g6 *
+
+[ECO "A61"]
+[Opening "Benoni"]
+[Variation "Uhlmann variation"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. Nf3 g6 7. Bg5 *
+
+[ECO "A61"]
+[Opening "Benoni"]
+[Variation "Nimzovich (knight's tour) variation"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. Nf3 g6 7. Nd2 *
+
+[ECO "A61"]
+[Opening "Benoni"]
+[Variation "fianchetto variation"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. Nf3 g6 7. g3 *
+
+[ECO "A62"]
+[Opening "Benoni"]
+[Variation "fianchetto variation"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. Nf3 g6 7. g3 Bg7 8. 
+Bg2 O-O *
+
+[ECO "A63"]
+[Opening "Benoni"]
+[Variation "fianchetto, 9...Nbd7"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. Nf3 g6 7. g3 Bg7 8. 
+Bg2 O-O 9. O-O Nbd7 *
+
+[ECO "A64"]
+[Opening "Benoni"]
+[Variation "fianchetto, 11...Re8"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. Nf3 g6 7. g3 Bg7 8. 
+Bg2 O-O 9. O-O Nbd7 10. Nd2 a6 11. a4 Re8 *
+
+[ECO "A65"]
+[Opening "Benoni"]
+[Variation "6.e4"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 *
+
+[ECO "A66"]
+[Opening "Benoni"]
+[Variation "pawn storm variation"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. f4 *
+
+[ECO "A66"]
+[Opening "Benoni"]
+[Variation "Mikenas variation"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. f4 Bg7 8. e5
+*
+
+[ECO "A67"]
+[Opening "Benoni"]
+[Variation "Taimanov variation"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. f4 Bg7 8. 
+Bb5+ *
+
+[ECO "A68"]
+[Opening "Benoni"]
+[Variation "four pawns attack"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. f4 Bg7 8. 
+Nf3 O-O *
+
+[ECO "A69"]
+[Opening "Benoni"]
+[Variation "four pawns attack, main line"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. f4 Bg7 8. 
+Nf3 O-O 9. Be2 Re8 *
+
+[ECO "A70"]
+[Opening "Benoni"]
+[Variation "classical with e4 and Nf3"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 *
+
+[ECO "A70"]
+[Opening "Benoni"]
+[Variation "classical without 9.O-O"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8. 
+Be2 *
+
+[ECO "A71"]
+[Opening "Benoni"]
+[Variation "classical, 8.Bg5"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8. 
+Bg5 *
+
+[ECO "A72"]
+[Opening "Benoni"]
+[Variation "classical without 9.O-O"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8. 
+Be2 O-O *
+
+[ECO "A73"]
+[Opening "Benoni"]
+[Variation "classical, 9.O-O"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8. 
+Be2 O-O 9. O-O *
+
+[ECO "A74"]
+[Opening "Benoni"]
+[Variation "classical, 9...a6, 10.a4"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8. 
+Be2 O-O 9. O-O a6 10. a4 *
+
+[ECO "A75"]
+[Opening "Benoni"]
+[Variation "classical with ...a6 and 10...Bg4"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8. 
+Be2 O-O 9. O-O a6 10. a4 Bg4 *
+
+[ECO "A76"]
+[Opening "Benoni"]
+[Variation "classical, 9...Re8"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8. 
+Be2 O-O 9. O-O Re8 *
+
+[ECO "A77"]
+[Opening "Benoni"]
+[Variation "classical, 9...Re8, 10.Nd2"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8. 
+Be2 O-O 9. O-O Re8 10. Nd2 *
+
+[ECO "A78"]
+[Opening "Benoni"]
+[Variation "classical with ...Re8 and ...Na6"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8. 
+Be2 O-O 9. O-O Re8 10. Nd2 Na6 *
+
+[ECO "A79"]
+[Opening "Benoni"]
+[Variation "classical, 11.f3"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8. 
+Be2 O-O 9. O-O Re8 10. Nd2 Na6 11. f3 *
+
+[ECO "A80"]
+[Opening "Dutch"]
+
+1. d4 f5 *
+
+[ECO "A80"]
+[Opening "Dutch, Spielmann gambit"]
+
+1. d4 f5 2. Nc3 Nf6 3. g4 *
+
+[ECO "A80"]
+[Opening "Dutch, Manhattan (Alapin, Ulvestad) variation"]
+
+1. d4 f5 2. Qd3 *
+
+[ECO "A80"]
+[Opening "Dutch, Von Pretzel gambit"]
+
+1. d4 f5 2. Qd3 e6 3. g4 *
+
+[ECO "A80"]
+[Opening "Dutch, Korchnoi attack"]
+
+1. d4 f5 2. h3 *
+
+[ECO "A80"]
+[Opening "Dutch, Krejcik gambit"]
+
+1. d4 f5 2. g4 *
+
+[ECO "A80"]
+[Opening "Dutch, 2.Bg5 variation"]
+
+1. d4 f5 2. Bg5 *
+
+[ECO "A81"]
+[Opening "Dutch defence"]
+
+1. d4 f5 2. g3 *
+
+[ECO "A81"]
+[Opening "Dutch defence, Blackburne variation"]
+
+1. d4 f5 2. g3 Nf6 3. Bg2 e6 4. Nh3 *
+
+[ECO "A81"]
+[Opening "Dutch defence"]
+
+1. d4 f5 2. g3 Nf6 3. Bg2 g6 *
+
+[ECO "A81"]
+[Opening "Dutch"]
+[Variation "Leningrad, Basman system"]
+
+1. d4 f5 2. g3 g6 3. Bg2 Bg7 4. Nf3 c6 5. O-O Nh6 *
+
+[ECO "A81"]
+[Opening "Dutch"]
+[Variation "Leningrad, Karlsbad variation"]
+
+1. d4 f5 2. g3 g6 3. Bg2 Bg7 4. Nh3 *
+
+[ECO "A82"]
+[Opening "Dutch"]
+[Variation "Staunton gambit"]
+
+1. d4 f5 2. e4 *
+
+[ECO "A82"]
+[Opening "Dutch"]
+[Variation "Balogh defence"]
+
+1. d4 f5 2. e4 d6 *
+
+[ECO "A82"]
+[Opening "Dutch"]
+[Variation "Staunton gambit"]
+
+1. d4 f5 2. e4 fxe4 *
+
+[ECO "A82"]
+[Opening "Dutch"]
+[Variation "Staunton gambit, Tartakower variation"]
+
+1. d4 f5 2. e4 fxe4 3. Nc3 Nf6 4. g4 *
+
+[ECO "A83"]
+[Opening "Dutch"]
+[Variation "Staunton gambit, Staunton's line"]
+
+1. d4 f5 2. e4 fxe4 3. Nc3 Nf6 4. Bg5 *
+
+[ECO "A83"]
+[Opening "Dutch"]
+[Variation "Staunton gambit, Alekhine variation"]
+
+1. d4 f5 2. e4 fxe4 3. Nc3 Nf6 4. Bg5 g6 5. h4 *
+
+[ECO "A83"]
+[Opening "Dutch"]
+[Variation "Staunton gambit, Lasker variation"]
+
+1. d4 f5 2. e4 fxe4 3. Nc3 Nf6 4. Bg5 g6 5. f3 *
+
+[ECO "A83"]
+[Opening "Dutch"]
+[Variation "Staunton gambit, Chigorin variation"]
+
+1. d4 f5 2. e4 fxe4 3. Nc3 Nf6 4. Bg5 c6 *
+
+[ECO "A83"]
+[Opening "Dutch"]
+[Variation "Staunton gambit, Nimzovich variation"]
+
+1. d4 f5 2. e4 fxe4 3. Nc3 Nf6 4. Bg5 b6 *
+
+[ECO "A84"]
+[Opening "Dutch defence"]
+
+1. d4 f5 2. c4 *
+
+[ECO "A84"]
+[Opening "Dutch defence"]
+[Variation "Bladel variation"]
+
+1. d4 f5 2. c4 g6 3. Nc3 Nh6 *
+
+[ECO "A84"]
+[Opening "Dutch defence"]
+
+1. d4 f5 2. c4 e6 *
+
+[ECO "A84"]
+[Opening "Dutch defence, Rubinstein variation"]
+
+1. d4 f5 2. c4 e6 3. Nc3 *
+
+[ECO "A84"]
+[Opening "Dutch"]
+[Variation "Staunton gambit deferred"]
+
+1. d4 f5 2. c4 e6 3. e4 *
+
+[ECO "A84"]
+[Opening "Dutch defence"]
+
+1. d4 f5 2. c4 Nf6 *
+
+[ECO "A85"]
+[Opening "Dutch with c4 & Nc3"]
+
+1. d4 f5 2. c4 Nf6 3. Nc3 *
+
+[ECO "A86"]
+[Opening "Dutch with c4 & g3"]
+
+1. d4 f5 2. c4 Nf6 3. g3 *
+
+[ECO "A86"]
+[Opening "Dutch"]
+[Variation "Hort-Antoshin system"]
+
+1. d4 f5 2. c4 Nf6 3. g3 d6 4. Bg2 c6 5. Nc3 Qc7 *
+
+[ECO "A86"]
+[Opening "Dutch"]
+[Variation "Leningrad variation"]
+
+1. d4 f5 2. c4 Nf6 3. g3 g6 *
+
+[ECO "A87"]
+[Opening "Dutch"]
+[Variation "Leningrad, main variation"]
+
+1. d4 f5 2. c4 Nf6 3. g3 g6 4. Bg2 Bg7 5. Nf3 *
+
+[ECO "A88"]
+[Opening "Dutch"]
+[Variation "Leningrad, main variation with c6"]
+
+1. d4 f5 2. c4 Nf6 3. g3 g6 4. Bg2 Bg7 5. Nf3 O-O 6. O-O d6 7. Nc3 c6 *
+
+[ECO "A89"]
+[Opening "Dutch"]
+[Variation "Leningrad, main variation with Nc6"]
+
+1. d4 f5 2. c4 Nf6 3. g3 g6 4. Bg2 Bg7 5. Nf3 O-O 6. O-O d6 7. Nc3 Nc6 *
+
+[ECO "A90"]
+[Opening "Dutch defence"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 *
+
+[ECO "A90"]
+[Opening "Dutch defence"]
+[Variation "Dutch-Indian (Nimzo-Dutch) variation"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Bb4+ *
+
+[ECO "A90"]
+[Opening "Dutch-Indian, Alekhine variation"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Bb4+ 5. Bd2 Be7 *
+
+[ECO "A91"]
+[Opening "Dutch defence"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 *
+
+[ECO "A92"]
+[Opening "Dutch defence"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O *
+
+[ECO "A92"]
+[Opening "Dutch defence, Alekhine variation"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O Ne4 *
+
+[ECO "A92"]
+[Opening "Dutch"]
+[Variation "stonewall variation"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d5 *
+
+[ECO "A92"]
+[Opening "Dutch"]
+[Variation "stonewall with Nc3"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d5 7. Nc3 *
+
+[ECO "A93"]
+[Opening "Dutch"]
+[Variation "stonewall, Botwinnik variation"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d5 7. b3 *
+
+[ECO "A94"]
+[Opening "Dutch"]
+[Variation "stonewall with Ba3"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d5 7. b3 c6 8. Ba3
+*
+
+[ECO "A95"]
+[Opening "Dutch"]
+[Variation "stonewall with Nc3"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d5 7. Nc3 c6 *
+
+[ECO "A95"]
+[Opening "Dutch"]
+[Variation "stonewall: Chekhover variation"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d5 7. Nc3 c6 8. 
+Qc2 Qe8 9. Bg5 *
+
+[ECO "A96"]
+[Opening "Dutch"]
+[Variation "classical variation"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d6 *
+
+[ECO "A97"]
+[Opening "Dutch"]
+[Variation "Ilyin-Genevsky variation"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d6 7. Nc3 Qe8 *
+
+[ECO "A97"]
+[Opening "Dutch"]
+[Variation "Ilyin-Genevsky, Winter variation"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d6 7. Nc3 Qe8 8. 
+Re1 *
+
+[ECO "A98"]
+[Opening "Dutch"]
+[Variation "Ilyin-Genevsky variation with Qc2"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d6 7. Nc3 Qe8 8. 
+Qc2 *
+
+[ECO "A99"]
+[Opening "Dutch"]
+[Variation "Ilyin-Genevsky variation with b3"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d6 7. Nc3 Qe8 8. 
+b3 *
+
+[ECO "B00"]
+[Opening "King's pawn opening"]
+
+1. e4 *
+
+[ECO "B00"]
+[Opening "Hippopotamus defence"]
+
+1. e4 Nh6 2. d4 g6 3. c4 f6 *
+
+[ECO "B00"]
+[Opening "Corn stalk defence"]
+
+1. e4 a5 *
+
+[ECO "B00"]
+[Opening "Lemming defence"]
+
+1. e4 Na6 *
+
+[ECO "B00"]
+[Opening "Fred"]
+
+1. e4 f5 *
+
+[ECO "B00"]
+[Opening "Barnes defence"]
+
+1. e4 f6 *
+
+[ECO "B00"]
+[Opening "Fried fox defence"]
+
+1. e4 f6 2. d4 Kf7 *
+
+[ECO "B00"]
+[Opening "Carr's defence"]
+
+1. e4 h6 *
+
+[ECO "B00"]
+[Opening "Reversed Grob (Borg/Basman defence/macho Grob)"]
+
+1. e4 g5 *
+
+[ECO "B00"]
+[Opening "St. George (Baker) defence"]
+
+1. e4 a6 *
+
+[ECO "B00"]
+[Opening "Owen defence"]
+
+1. e4 b6 *
+
+[ECO "B00"]
+[Opening "Guatemala defence"]
+
+1. e4 b6 2. d4 Ba6 *
+
+[ECO "B00"]
+[Opening "KP"]
+[Variation "Nimzovich defence"]
+
+1. e4 Nc6 *
+
+[ECO "B00"]
+[Opening "KP"]
+[Variation "Nimzovich defence, Wheeler gambit"]
+
+1. e4 Nc6 2. b4 Nxb4 3. c3 Nc6 4. d4 *
+
+[ECO "B00"]
+[Opening "KP"]
+[Variation "Nimzovich defence"]
+
+1. e4 Nc6 2. Nf3 *
+
+[ECO "B00"]
+[Opening "KP"]
+[Variation "Colorado counter"]
+
+1. e4 Nc6 2. Nf3 f5 *
+
+[ECO "B00"]
+[Opening "KP"]
+[Variation "Nimzovich defence"]
+
+1. e4 Nc6 2. d4 *
+
+[ECO "B00"]
+[Opening "KP"]
+[Variation "Nimzovich defence, Marshall gambit"]
+
+1. e4 Nc6 2. d4 d5 3. exd5 Qxd5 4. Nc3 *
+
+[ECO "B00"]
+[Opening "KP"]
+[Variation "Nimzovich defence, Bogolyubov variation"]
+
+1. e4 Nc6 2. d4 d5 3. Nc3 *
+
+[ECO "B00"]
+[Opening "KP"]
+[Variation "Neo-Mongoloid defence"]
+
+1. e4 Nc6 2. d4 f6 *
+
+[ECO "B01"]
+[Opening "Scandinavian (centre counter) defence"]
+
+1. e4 d5 *
+
+[ECO "B01"]
+[Opening "Scandinavian defence, Lasker variation"]
+
+1. e4 d5 2. exd5 Qxd5 3. Nc3 Qa5 4. d4 Nf6 5. Nf3 Bg4 6. h3 *
+
+[ECO "B01"]
+[Opening "Scandinavian defence"]
+
+1. e4 d5 2. exd5 Qxd5 3. Nc3 Qa5 4. d4 Nf6 5. Nf3 Bf5 *
+
+[ECO "B01"]
+[Opening "Scandinavian defence, Gruenfeld variation"]
+
+1. e4 d5 2. exd5 Qxd5 3. Nc3 Qa5 4. d4 Nf6 5. Nf3 Bf5 6. Ne5 c6 7. g4 *
+
+[ECO "B01"]
+[Opening "Scandinavian"]
+[Variation "Anderssen counter-attack"]
+
+1. e4 d5 2. exd5 Qxd5 3. Nc3 Qa5 4. d4 e5 *
+
+[ECO "B01"]
+[Opening "Scandinavian"]
+[Variation "Anderssen counter-attack orthodox attack"]
+
+1. e4 d5 2. exd5 Qxd5 3. Nc3 Qa5 4. d4 e5 5. dxe5 Bb4 6. Bd2 Nc6 7. Nf3 *
+
+[ECO "B01"]
+[Opening "Scandinavian"]
+[Variation "Anderssen counter-attack, Goteborg system"]
+
+1. e4 d5 2. exd5 Qxd5 3. Nc3 Qa5 4. d4 e5 5. Nf3 *
+
+[ECO "B01"]
+[Opening "Scandinavian"]
+[Variation "Anderssen counter-attack, Collijn variation"]
+
+1. e4 d5 2. exd5 Qxd5 3. Nc3 Qa5 4. d4 e5 5. Nf3 Bg4 *
+
+[ECO "B01"]
+[Opening "Scandinavian, Mieses-Kotrvc gambit"]
+
+1. e4 d5 2. exd5 Qxd5 3. Nc3 Qa5 4. b4 *
+
+[ECO "B01"]
+[Opening "Scandinavian"]
+[Variation "Pytel-Wade variation"]
+
+1. e4 d5 2. exd5 Qxd5 3. Nc3 Qd6 *
+
+[ECO "B01"]
+[Opening "Scandinavian defence"]
+
+1. e4 d5 2. exd5 Nf6 *
+
+[ECO "B01"]
+[Opening "Scandinavian"]
+[Variation "Icelandic gambit"]
+
+1. e4 d5 2. exd5 Nf6 3. c4 e6 *
+
+[ECO "B01"]
+[Opening "Scandinavian gambit"]
+
+1. e4 d5 2. exd5 Nf6 3. c4 c6 *
+
+[ECO "B01"]
+[Opening "Scandinavian defence"]
+
+1. e4 d5 2. exd5 Nf6 3. d4 *
+
+[ECO "B01"]
+[Opening "Scandinavian"]
+[Variation "Marshall variation"]
+
+1. e4 d5 2. exd5 Nf6 3. d4 Nxd5 *
+
+[ECO "B01"]
+[Opening "Scandinavian"]
+[Variation "Kiel variation"]
+
+1. e4 d5 2. exd5 Nf6 3. d4 Nxd5 4. c4 Nb4 *
+
+[ECO "B01"]
+[Opening "Scandinavian"]
+[Variation "Richter variation"]
+
+1. e4 d5 2. exd5 Nf6 3. d4 g6 *
+
+[ECO "B02"]
+[Opening "Alekhine's defence"]
+
+1. e4 Nf6 *
+
+[ECO "B02"]
+[Opening "Alekhine's defence"]
+[Variation "Scandinavian variation"]
+
+1. e4 Nf6 2. Nc3 d5 *
+
+[ECO "B02"]
+[Opening "Alekhine's defence"]
+[Variation "Spielmann variation"]
+
+1. e4 Nf6 2. Nc3 d5 3. e5 Nfd7 4. e6 *
+
+[ECO "B02"]
+[Opening "Alekhine's defence"]
+[Variation "Maroczy variation"]
+
+1. e4 Nf6 2. d3 *
+
+[ECO "B02"]
+[Opening "Alekhine's defence"]
+[Variation "Krejcik variation"]
+
+1. e4 Nf6 2. Bc4 *
+
+[ECO "B02"]
+[Opening "Alekhine's defence"]
+[Variation "Mokele Mbembe (Buecker) variation"]
+
+1. e4 Nf6 2. e5 Ne4 *
+
+[ECO "B02"]
+[Opening "Alekhine's defence"]
+[Variation "Brooklyn defence"]
+
+1. e4 Nf6 2. e5 Ng8 *
+
+[ECO "B02"]
+[Opening "Alekhine's defence"]
+
+1. e4 Nf6 2. e5 Nd5 *
+
+[ECO "B02"]
+[Opening "Alekhine's defence"]
+[Variation "Kmoch variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. Bc4 Nb6 4. Bb3 c5 5. d3 *
+
+[ECO "B02"]
+[Opening "Alekhine's defence"]
+[Variation "Saemisch attack"]
+
+1. e4 Nf6 2. e5 Nd5 3. Nc3 *
+
+[ECO "B02"]
+[Opening "Alekhine's defence"]
+[Variation "Welling variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. b3 *
+
+[ECO "B02"]
+[Opening "Alekhine's defence"]
+
+1. e4 Nf6 2. e5 Nd5 3. c4 *
+
+[ECO "B02"]
+[Opening "Alekhine's defence"]
+[Variation "Steiner variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. c4 Nb6 4. b3 *
+
+[ECO "B02"]
+[Opening "Alekhine's defence"]
+[Variation "two pawns' (Lasker's) attack"]
+
+1. e4 Nf6 2. e5 Nd5 3. c4 Nb6 4. c5 *
+
+[ECO "B02"]
+[Opening "Alekhine's defence"]
+[Variation "two pawns' attack, Mikenas variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. c4 Nb6 4. c5 Nd5 5. Bc4 e6 6. Nc3 d6 *
+
+[ECO "B03"]
+[Opening "Alekhine's defence"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 *
+
+[ECO "B03"]
+[Opening "Alekhine's defence"]
+[Variation "O'Sullivan gambit"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 b5 *
+
+[ECO "B03"]
+[Opening "Alekhine's defence"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 *
+
+[ECO "B03"]
+[Opening "Alekhine's defence"]
+[Variation "Balogh variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. Bc4 *
+
+[ECO "B03"]
+[Opening "Alekhine's defence"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. c4 *
+
+[ECO "B03"]
+[Opening "Alekhine's defence"]
+[Variation "exchange variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. c4 Nb6 5. exd6 *
+
+[ECO "B03"]
+[Opening "Alekhine's defence"]
+[Variation "exchange, Karpov variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. c4 Nb6 5. exd6 cxd6 6. Nf3 g6 7. Be2 Bg7 8.
+O-O O-O 9. h3 Nc6 10. Nc3 Bf5 11. Bf4 *
+
+[ECO "B03"]
+[Opening "Alekhine's defence"]
+[Variation "four pawns attack"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. c4 Nb6 5. f4 *
+
+[ECO "B03"]
+[Opening "Alekhine's defence"]
+[Variation "four pawns attack, Korchnoi variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. c4 Nb6 5. f4 dxe5 6. fxe5 Bf5 7. Nc3 e6 8.
+Nf3 Be7 9. Be2 O-O 10. O-O f6 *
+
+[ECO "B03"]
+[Opening "Alekhine's defence"]
+[Variation "four pawns attack, 6...Nc6"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. c4 Nb6 5. f4 dxe5 6. fxe5 Nc6 *
+
+[ECO "B03"]
+[Opening "Alekhine's defence"]
+[Variation "four pawns attack, Ilyin-Genevsky var."]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. c4 Nb6 5. f4 dxe5 6. fxe5 Nc6 7. Nf3 Bg4 8.
+e6 fxe6 9. c5 *
+
+[ECO "B03"]
+[Opening "Alekhine's defence"]
+[Variation "four pawns attack, 7.Be3"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. c4 Nb6 5. f4 dxe5 6. fxe5 Nc6 7. Be3 *
+
+[ECO "B03"]
+[Opening "Alekhine's defence"]
+[Variation "four pawns attack, Tartakower variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. c4 Nb6 5. f4 dxe5 6. fxe5 Nc6 7. Be3 Bf5 8.
+Nc3 e6 9. Nf3 Qd7 10. Be2 O-O-O 11. O-O Be7 *
+
+[ECO "B03"]
+[Opening "Alekhine's defence"]
+[Variation "four pawns attack, Planinc variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. c4 Nb6 5. f4 g5 *
+
+[ECO "B03"]
+[Opening "Alekhine's defence"]
+[Variation "four pawns attack, fianchetto variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. c4 Nb6 5. f4 g6 *
+
+[ECO "B03"]
+[Opening "Alekhine's defence"]
+[Variation "four pawns attack, Trifunovic variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. c4 Nb6 5. f4 Bf5 *
+
+[ECO "B04"]
+[Opening "Alekhine's defence"]
+[Variation "modern variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. Nf3 *
+
+[ECO "B04"]
+[Opening "Alekhine's defence"]
+[Variation "modern, Larsen variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. Nf3 dxe5 *
+
+[ECO "B04"]
+[Opening "Alekhine's defence"]
+[Variation "modern, Schmid variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. Nf3 Nb6 *
+
+[ECO "B04"]
+[Opening "Alekhine's defence"]
+[Variation "modern, fianchetto variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. Nf3 g6 *
+
+[ECO "B04"]
+[Opening "Alekhine's defence"]
+[Variation "modern, Keres variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. Nf3 g6 5. Bc4 Nb6 6. Bb3 Bg7 7. a4 *
+
+[ECO "B05"]
+[Opening "Alekhine's defence"]
+[Variation "modern variation, 4...Bg4"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. Nf3 Bg4 *
+
+[ECO "B05"]
+[Opening "Alekhine's defence"]
+[Variation "modern, Flohr variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. Nf3 Bg4 5. Be2 c6 *
+
+[ECO "B05"]
+[Opening "Alekhine's defence"]
+[Variation "modern, Panov variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. Nf3 Bg4 5. h3 *
+
+[ECO "B05"]
+[Opening "Alekhine's defence"]
+[Variation "modern, Alekhine variation"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. Nf3 Bg4 5. c4 *
+
+[ECO "B05"]
+[Opening "Alekhine's defence"]
+[Variation "modern, Vitolins attack"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. Nf3 Bg4 5. c4 Nb6 6. d5 *
+
+[ECO "B06"]
+[Opening "Robatsch (modern) defence"]
+
+1. e4 g6 *
+
+[ECO "B06"]
+[Opening "Norwegian defence"]
+
+1. e4 g6 2. d4 Nf6 3. e5 Nh5 4. g4 Ng7 *
+
+[ECO "B06"]
+[Opening "Robatsch (modern) defence"]
+
+1. e4 g6 2. d4 Bg7 *
+
+[ECO "B06"]
+[Opening "Robatsch defence"]
+[Variation "three pawns attack"]
+
+1. e4 g6 2. d4 Bg7 3. f4 *
+
+[ECO "B06"]
+[Opening "Robatsch defence"]
+
+1. e4 g6 2. d4 Bg7 3. Nc3 *
+
+[ECO "B06"]
+[Opening "Robatsch defence"]
+[Variation "Gurgenidze variation"]
+
+1. e4 g6 2. d4 Bg7 3. Nc3 c6 4. f4 d5 5. e5 h5 *
+
+[ECO "B06"]
+[Opening "Robatsch (modern) defence"]
+
+1. e4 g6 2. d4 Bg7 3. Nc3 d6 *
+
+[ECO "B06"]
+[Opening "Robatsch defence"]
+[Variation "two knights variation"]
+
+1. e4 g6 2. d4 Bg7 3. Nc3 d6 4. Nf3 *
+
+[ECO "B06"]
+[Opening "Robatsch defence"]
+[Variation "two knights, Suttles variation"]
+
+1. e4 g6 2. d4 Bg7 3. Nc3 d6 4. Nf3 c6 *
+
+[ECO "B06"]
+[Opening "Robatsch defence"]
+[Variation "Pseudo-Austrian attack"]
+
+1. e4 g6 2. d4 Bg7 3. Nc3 d6 4. f4 *
+
+[ECO "B07"]
+[Opening "Pirc defence"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 *
+
+[ECO "B07"]
+[Opening "Pirc"]
+[Variation "Ufimtsev-Pytel variation"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 c6 *
+
+[ECO "B07"]
+[Opening "Pirc defence"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 *
+
+[ECO "B07"]
+[Opening "Pirc"]
+[Variation "150 attack"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. Be3 c6 5. Qd2 *
+
+[ECO "B07"]
+[Opening "Pirc"]
+[Variation "Sveshnikov system"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. g3 *
+
+[ECO "B07"]
+[Opening "Pirc"]
+[Variation "Holmov system"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. Bc4 *
+
+[ECO "B07"]
+[Opening "Pirc"]
+[Variation "Byrne variation"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. Bg5 *
+
+[ECO "B07"]
+[Opening "Pirc defence"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. Be2 *
+
+[ECO "B07"]
+[Opening "Pirc"]
+[Variation "Chinese variation"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. Be2 Bg7 5. g4 *
+
+[ECO "B07"]
+[Opening "Pirc"]
+[Variation "bayonet (Mariotti) attack"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. Be2 Bg7 5. h4 *
+
+[ECO "B07"]
+[Opening "Robatsch defence"]
+[Variation "Geller's system"]
+
+1. e4 g6 2. d4 Bg7 3. Nf3 d6 4. c3 *
+
+[ECO "B08"]
+[Opening "Pirc"]
+[Variation "classical (two knights) system"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. Nf3 *
+
+[ECO "B08"]
+[Opening "Pirc"]
+[Variation "classical (two knights) system"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. Nf3 Bg7 *
+
+[ECO "B08"]
+[Opening "Pirc"]
+[Variation "classical, h3 system"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. Nf3 Bg7 5. h3 *
+
+[ECO "B08"]
+[Opening "Pirc"]
+[Variation "classical system, 5.Be2"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. Nf3 Bg7 5. Be2 *
+
+[ECO "B09"]
+[Opening "Pirc"]
+[Variation "Austrian attack"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. f4 *
+
+[ECO "B09"]
+[Opening "Pirc"]
+[Variation "Austrian attack"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. f4 Bg7 5. Nf3 O-O *
+
+[ECO "B09"]
+[Opening "Pirc"]
+[Variation "Austrian attack, 6.e5"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. f4 Bg7 5. Nf3 O-O 6. e5 *
+
+[ECO "B09"]
+[Opening "Pirc"]
+[Variation "Austrian attack, 6.Be3"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. f4 Bg7 5. Nf3 O-O 6. Be3 *
+
+[ECO "B09"]
+[Opening "Pirc"]
+[Variation "Austrian attack, 6.Bd3"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. f4 Bg7 5. Nf3 O-O 6. Bd3 *
+
+[ECO "B09"]
+[Opening "Pirc"]
+[Variation "Austrian attack, dragon formation"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. f4 Bg7 5. Nf3 c5 *
+
+[ECO "B09"]
+[Opening "Pirc"]
+[Variation "Austrian attack, Ljubojevic variation"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. f4 Bg7 5. Bc4 *
+
+[ECO "B10"]
+[Opening "Caro-Kann defence"]
+
+1. e4 c6 *
+
+[ECO "B10"]
+[Opening "Caro-Kann"]
+[Variation "Hillbilly attack"]
+
+1. e4 c6 2. Bc4 *
+
+[ECO "B10"]
+[Opening "Caro-Kann"]
+[Variation "anti-Caro-Kann defence"]
+
+1. e4 c6 2. c4 *
+
+[ECO "B10"]
+[Opening "Caro-Kann"]
+[Variation "anti-anti-Caro-Kann defence"]
+
+1. e4 c6 2. c4 d5 *
+
+[ECO "B10"]
+[Opening "Caro-Kann"]
+[Variation "closed (Breyer) variation"]
+
+1. e4 c6 2. d3 *
+
+[ECO "B10"]
+[Opening "Caro-Kann defence"]
+
+1. e4 c6 2. Nc3 *
+
+[ECO "B10"]
+[Opening "Caro-Kann"]
+[Variation "Goldman (Spielmann) variation"]
+
+1. e4 c6 2. Nc3 d5 3. Qf3 *
+
+[ECO "B10"]
+[Opening "Caro-Kann"]
+[Variation "two knights variation"]
+
+1. e4 c6 2. Nc3 d5 3. Nf3 *
+
+[ECO "B11"]
+[Opening "Caro-Kann"]
+[Variation "two knights, 3...Bg4"]
+
+1. e4 c6 2. Nc3 d5 3. Nf3 Bg4 *
+
+[ECO "B12"]
+[Opening "Caro-Kann defence"]
+
+1. e4 c6 2. d4 *
+
+[ECO "B12"]
+[Opening "de Bruycker defence"]
+
+1. e4 c6 2. d4 Na6 3. Nc3 Nc7 *
+
+[ECO "B12"]
+[Opening "Caro-Masi defence"]
+
+1. e4 c6 2. d4 Nf6 *
+
+[ECO "B12"]
+[Opening "Caro-Kann defence"]
+
+1. e4 c6 2. d4 d5 *
+
+[ECO "B12"]
+[Opening "Caro-Kann"]
+[Variation "Tartakower (fantasy) variation"]
+
+1. e4 c6 2. d4 d5 3. f3 *
+
+[ECO "B12"]
+[Opening "Caro-Kann"]
+[Variation "3.Nd2"]
+
+1. e4 c6 2. d4 d5 3. Nd2 *
+
+[ECO "B12"]
+[Opening "Caro-Kann"]
+[Variation "Edinburgh variation"]
+
+1. e4 c6 2. d4 d5 3. Nd2 Qb6 *
+
+[ECO "B12"]
+[Opening "Caro-Kann"]
+[Variation "advance variation"]
+
+1. e4 c6 2. d4 d5 3. e5 *
+
+[ECO "B12"]
+[Opening "Caro-Kann"]
+[Variation "advance, Short variation"]
+
+1. e4 c6 2. d4 d5 3. e5 Bf5 4. c3 e6 5. Be2 *
+
+[ECO "B13"]
+[Opening "Caro-Kann"]
+[Variation "exchange variation"]
+
+1. e4 c6 2. d4 d5 3. exd5 *
+
+[ECO "B13"]
+[Opening "Caro-Kann"]
+[Variation "exchange, Rubinstein variation"]
+
+1. e4 c6 2. d4 d5 3. exd5 cxd5 4. Bd3 Nc6 5. c3 Nf6 6. Bf4 *
+
+[ECO "B13"]
+[Opening "Caro-Kann"]
+[Variation "Panov-Botvinnik attack"]
+
+1. e4 c6 2. d4 d5 3. exd5 cxd5 4. c4 *
+
+[ECO "B13"]
+[Opening "Caro-Kann"]
+[Variation "Panov-Botvinnik, Gunderam attack"]
+
+1. e4 c6 2. d4 d5 3. exd5 cxd5 4. c4 Nf6 5. c5 *
+
+[ECO "B13"]
+[Opening "Caro-Kann"]
+[Variation "Panov-Botvinnik attack"]
+
+1. e4 c6 2. d4 d5 3. exd5 cxd5 4. c4 Nf6 5. Nc3 *
+
+[ECO "B13"]
+[Opening "Caro-Kann"]
+[Variation "Panov-Botvinnik, Herzog defence"]
+
+1. e4 c6 2. d4 d5 3. exd5 cxd5 4. c4 Nf6 5. Nc3 Nc6 6. Bg5 dxc4 7. d5 Na5 *
+
+[ECO "B13"]
+[Opening "Caro-Kann"]
+[Variation "Panov-Botvinnik, normal variation"]
+
+1. e4 c6 2. d4 d5 3. exd5 cxd5 4. c4 Nf6 5. Nc3 Nc6 6. Bg5 e6 *
+
+[ECO "B13"]
+[Opening "Caro-Kann"]
+[Variation "Panov-Botvinnik, Czerniak variation"]
+
+1. e4 c6 2. d4 d5 3. exd5 cxd5 4. c4 Nf6 5. Nc3 Nc6 6. Bg5 Qa5 *
+
+[ECO "B13"]
+[Opening "Caro-Kann"]
+[Variation "Panov-Botvinnik, Reifir (Spielmann) variation"]
+
+1. e4 c6 2. d4 d5 3. exd5 cxd5 4. c4 Nf6 5. Nc3 Nc6 6. Bg5 Qb6 *
+
+[ECO "B14"]
+[Opening "Caro-Kann"]
+[Variation "Panov-Botvinnik attack, 5...e6"]
+
+1. e4 c6 2. d4 d5 3. exd5 cxd5 4. c4 Nf6 5. Nc3 e6 *
+
+[ECO "B14"]
+[Opening "Caro-Kann"]
+[Variation "Panov-Botvinnik attack, 5...g6"]
+
+1. e4 c6 2. d4 d5 3. exd5 cxd5 4. c4 Nf6 5. Nc3 g6 *
+
+[ECO "B15"]
+[Opening "Caro-Kann defence"]
+
+1. e4 c6 2. d4 d5 3. Nc3 *
+
+[ECO "B15"]
+[Opening "Caro-Kann"]
+[Variation "Gurgenidze counter-attack"]
+
+1. e4 c6 2. d4 d5 3. Nc3 b5 *
+
+[ECO "B15"]
+[Opening "Caro-Kann"]
+[Variation "Gurgenidze system"]
+
+1. e4 c6 2. d4 d5 3. Nc3 g6 *
+
+[ECO "B15"]
+[Opening "Caro-Kann"]
+[Variation "Rasa-Studier gambit"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. f3 *
+
+[ECO "B15"]
+[Opening "Caro-Kann defence"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 *
+
+[ECO "B15"]
+[Opening "Caro-Kann"]
+[Variation "Alekhine gambit"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Nf6 5. Bd3 *
+
+[ECO "B15"]
+[Opening "Caro-Kann"]
+[Variation "Tartakower (Nimzovich) variation"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Nf6 5. Nxf6+ exf6 *
+
+[ECO "B15"]
+[Opening "Caro-Kann"]
+[Variation "Forgacs variation"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Nf6 5. Nxf6+ exf6 6. Bc4 *
+
+[ECO "B16"]
+[Opening "Caro-Kann"]
+[Variation "Bronstein-Larsen variation"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Nf6 5. Nxf6+ gxf6 *
+
+[ECO "B17"]
+[Opening "Caro-Kann"]
+[Variation "Steinitz variation"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Nd7 *
+
+[ECO "B18"]
+[Opening "Caro-Kann"]
+[Variation "classical variation"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Bf5 *
+
+[ECO "B18"]
+[Opening "Caro-Kann"]
+[Variation "classical, Flohr variation"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Bf5 5. Ng3 Bg6 6. Nh3 *
+
+[ECO "B18"]
+[Opening "Caro-Kann"]
+[Variation "classical, Maroczy attack"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Bf5 5. Ng3 Bg6 6. f4 *
+
+[ECO "B18"]
+[Opening "Caro-Kann"]
+[Variation "classical, 6.h4"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Bf5 5. Ng3 Bg6 6. h4 *
+
+[ECO "B19"]
+[Opening "Caro-Kann"]
+[Variation "classical, 7...Nd7"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Bf5 5. Ng3 Bg6 6. h4 h6 7. Nf3 Nd7 *
+
+[ECO "B19"]
+[Opening "Caro-Kann"]
+[Variation "classical, Spassky variation"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Bf5 5. Ng3 Bg6 6. h4 h6 7. Nf3 Nd7 8.
+h5 *
+
+[ECO "B20"]
+[Opening "Sicilian defence"]
+
+1. e4 c5 *
+
+[ECO "B20"]
+[Opening "Sicilian"]
+[Variation "Gloria variation"]
+
+1. e4 c5 2. c4 d6 3. Nc3 Nc6 4. g3 h5 *
+
+[ECO "B20"]
+[Opening "Sicilian"]
+[Variation "Steinitz variation"]
+
+1. e4 c5 2. g3 *
+
+[ECO "B20"]
+[Opening "Sicilian"]
+[Variation "wing gambit"]
+
+1. e4 c5 2. b4 *
+
+[ECO "B20"]
+[Opening "Sicilian"]
+[Variation "wing gambit, Santasiere variation"]
+
+1. e4 c5 2. b4 cxb4 3. c4 *
+
+[ECO "B20"]
+[Opening "Sicilian"]
+[Variation "wing gambit, Marshall variation"]
+
+1. e4 c5 2. b4 cxb4 3. a3 *
+
+[ECO "B20"]
+[Opening "Sicilian"]
+[Variation "wing gambit, Marienbad variation"]
+
+1. e4 c5 2. b4 cxb4 3. a3 d5 4. exd5 Qxd5 5. Bb2 *
+
+[ECO "B20"]
+[Opening "Sicilian"]
+[Variation "wing gambit, Carlsbad variation"]
+
+1. e4 c5 2. b4 cxb4 3. a3 bxa3 *
+
+[ECO "B20"]
+[Opening "Sicilian"]
+[Variation "Keres variation (2.Ne2)"]
+
+1. e4 c5 2. Ne2 *
+
+[ECO "B21"]
+[Opening "Sicilian"]
+[Variation "Grand Prix attack"]
+
+1. e4 c5 2. f4 *
+
+[ECO "B21"]
+[Opening "Sicilian"]
+[Variation "Smith-Morra gambit"]
+
+1. e4 c5 2. d4 *
+
+[ECO "B21"]
+[Opening "Sicilian"]
+[Variation "Andreaschek gambit"]
+
+1. e4 c5 2. d4 cxd4 3. Nf3 e5 4. c3 *
+
+[ECO "B21"]
+[Opening "Sicilian"]
+[Variation "Smith-Morra gambit"]
+
+1. e4 c5 2. d4 cxd4 3. c3 *
+
+[ECO "B21"]
+[Opening "Sicilian"]
+[Variation "Smith-Morra gambit, Chicago defence"]
+
+1. e4 c5 2. d4 cxd4 3. c3 dxc3 4. Nxc3 Nc6 5. Nf3 d6 6. Bc4 e6 7. O-O a6 8.
+Qe2 b5 9. Bb3 Ra7 *
+
+[ECO "B22"]
+[Opening "Sicilian"]
+[Variation "Alapin's variation (2.c3)"]
+
+1. e4 c5 2. c3 *
+
+[ECO "B22"]
+[Opening "Sicilian"]
+[Variation "2.c3, Heidenfeld variation"]
+
+1. e4 c5 2. c3 Nf6 3. e5 Nd5 4. Nf3 Nc6 5. Na3 *
+
+[ECO "B23"]
+[Opening "Sicilian"]
+[Variation "closed"]
+
+1. e4 c5 2. Nc3 *
+
+[ECO "B23"]
+[Opening "Sicilian"]
+[Variation "closed, Korchnoi variation"]
+
+1. e4 c5 2. Nc3 e6 3. g3 d5 *
+
+[ECO "B23"]
+[Opening "Sicilian"]
+[Variation "closed, 2...Nc6"]
+
+1. e4 c5 2. Nc3 Nc6 *
+
+[ECO "B23"]
+[Opening "Sicilian"]
+[Variation "chameleon variation"]
+
+1. e4 c5 2. Nc3 Nc6 3. Nge2 *
+
+[ECO "B23"]
+[Opening "Sicilian"]
+[Variation "Grand Prix attack"]
+
+1. e4 c5 2. Nc3 Nc6 3. f4 *
+
+[ECO "B23"]
+[Opening "Sicilian"]
+[Variation "Grand Prix attack, Schofman variation"]
+
+1. e4 c5 2. Nc3 Nc6 3. f4 g6 4. Nf3 Bg7 5. Bc4 e6 6. f5 *
+
+[ECO "B24"]
+[Opening "Sicilian"]
+[Variation "closed"]
+
+1. e4 c5 2. Nc3 Nc6 3. g3 *
+
+[ECO "B24"]
+[Opening "Sicilian"]
+[Variation "closed, Smyslov variation"]
+
+1. e4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. d3 e6 6. Be3 Nd4 7. Nce2 *
+
+[ECO "B25"]
+[Opening "Sicilian"]
+[Variation "closed"]
+
+1. e4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. d3 d6 *
+
+[ECO "B25"]
+[Opening "Sicilian"]
+[Variation "closed, 6.Ne2 e5 (Botvinnik)"]
+
+1. e4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. d3 d6 6. Nge2 e5 *
+
+[ECO "B25"]
+[Opening "Sicilian"]
+[Variation "closed, 6.f4"]
+
+1. e4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. d3 d6 6. f4 *
+
+[ECO "B25"]
+[Opening "Sicilian"]
+[Variation "closed, 6.f4 e5 (Botvinnik)"]
+
+1. e4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. d3 d6 6. f4 e5 *
+
+[ECO "B26"]
+[Opening "Sicilian"]
+[Variation "closed, 6.Be3"]
+
+1. e4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. d3 d6 6. Be3 *
+
+[ECO "B27"]
+[Opening "Sicilian defence"]
+
+1. e4 c5 2. Nf3 *
+
+[ECO "B27"]
+[Opening "Sicilian"]
+[Variation "Stiletto (Althouse) variation"]
+
+1. e4 c5 2. Nf3 Qa5 *
+
+[ECO "B27"]
+[Opening "Sicilian"]
+[Variation "Quinteros variation"]
+
+1. e4 c5 2. Nf3 Qc7 *
+
+[ECO "B27"]
+[Opening "Sicilian"]
+[Variation "Katalimov variation"]
+
+1. e4 c5 2. Nf3 b6 *
+
+[ECO "B27"]
+[Opening "Sicilian"]
+[Variation "Hungarian variation"]
+
+1. e4 c5 2. Nf3 g6 *
+
+[ECO "B27"]
+[Opening "Sicilian"]
+[Variation "Acton extension"]
+
+1. e4 c5 2. Nf3 g6 3. c4 Bh6 *
+
+[ECO "B28"]
+[Opening "Sicilian"]
+[Variation "O'Kelly variation"]
+
+1. e4 c5 2. Nf3 a6 *
+
+[ECO "B29"]
+[Opening "Sicilian"]
+[Variation "Nimzovich-Rubinstein variation"]
+
+1. e4 c5 2. Nf3 Nf6 *
+
+[ECO "B29"]
+[Opening "Sicilian"]
+[Variation "Nimzovich-Rubinstein; Rubinstein counter-gambit"]
+
+1. e4 c5 2. Nf3 Nf6 3. e5 Nd5 4. Nc3 e6 5. Nxd5 exd5 6. d4 Nc6 *
+
+[ECO "B30"]
+[Opening "Sicilian defence"]
+
+1. e4 c5 2. Nf3 Nc6 *
+
+[ECO "B30"]
+[Opening "Sicilian"]
+[Variation "Nimzovich-Rossolimo attack (without ...d6)"]
+
+1. e4 c5 2. Nf3 Nc6 3. Bb5 *
+
+[ECO "B31"]
+[Opening "Sicilian"]
+[Variation "Nimzovich-Rossolimo attack (with ...g6, without ...d6)"]
+
+1. e4 c5 2. Nf3 Nc6 3. Bb5 g6 *
+
+[ECO "B31"]
+[Opening "Sicilian"]
+[Variation "Nimzovich-Rossolimo attack, Gurgenidze variation"]
+
+1. e4 c5 2. Nf3 Nc6 3. Bb5 g6 4. O-O Bg7 5. Re1 e5 6. b4 *
+
+[ECO "B32"]
+[Opening "Sicilian defence"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 *
+
+[ECO "B32"]
+[Opening "Sicilian"]
+[Variation "Flohr variation"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Qc7 *
+
+[ECO "B32"]
+[Opening "Sicilian"]
+[Variation "Nimzovich variation"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 d5 *
+
+[ECO "B32"]
+[Opening "Sicilian"]
+[Variation "Labourdonnais-Loewenthal variation"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 e5 *
+
+[ECO "B32"]
+[Opening "Sicilian"]
+[Variation "Labourdonnais-Loewenthal (Kalashnikov) variation"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 e5 5. Nb5 d6 *
+
+[ECO "B33"]
+[Opening "Sicilian defence"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Nf6 *
+
+[ECO "B33"]
+[Opening "Sicilian"]
+[Variation "Pelikan (Lasker/Sveshnikov) variation"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e5 *
+
+[ECO "B33"]
+[Opening "Sicilian"]
+[Variation "Pelikan, Bird variation"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e5 6. Ndb5 d6 7. Bg5 a6 
+8. Na3 Be6 *
+
+[ECO "B33"]
+[Opening "Sicilian"]
+[Variation "Pelikan, Chelyabinsk variation"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e5 6. Ndb5 d6 7. Bg5 a6 
+8. Na3 b5 *
+
+[ECO "B33"]
+[Opening "Sicilian"]
+[Variation "Sveshnikov variation"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e5 6. Ndb5 d6 7. Bg5 a6 
+8. Na3 b5 9. Bxf6 gxf6 10. Nd5 f5 *
+
+[ECO "B34"]
+[Opening "Sicilian"]
+[Variation "accelerated fianchetto, exchange variation"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 5. Nxc6 *
+
+[ECO "B34"]
+[Opening "Sicilian"]
+[Variation "accelerated fianchetto, modern variation"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 5. Nc3 *
+
+[ECO "B35"]
+[Opening "Sicilian"]
+[Variation "accelerated fianchetto, modern variation with Bc4"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 5. Nc3 Bg7 6. Be3 Nf6 7. Bc4 *
+
+[ECO "B36"]
+[Opening "Sicilian"]
+[Variation "accelerated fianchetto, Maroczy bind"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 5. c4 *
+
+[ECO "B36"]
+[Opening "Sicilian"]
+[Variation "accelerated fianchetto, Gurgenidze variation"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 5. c4 Nf6 6. Nc3 Nxd4 7. Qxd4 d6
+*
+
+[ECO "B37"]
+[Opening "Sicilian"]
+[Variation "accelerated fianchetto, Maroczy bind, 5...Bg7"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 5. c4 Bg7 *
+
+[ECO "B37"]
+[Opening "Sicilian"]
+[Variation "accelerated fianchetto, Simagin variation"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 5. c4 Bg7 6. Nc2 d6 7. Be2 Nh6 *
+
+[ECO "B38"]
+[Opening "Sicilian"]
+[Variation "accelerated fianchetto, Maroczy bind, 6.Be3"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 5. c4 Bg7 6. Be3 *
+
+[ECO "B39"]
+[Opening "Sicilian"]
+[Variation "accelerated fianchetto, Breyer variation"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 5. c4 Bg7 6. Be3 Nf6 7. Nc3 Ng4 *
+
+[ECO "B40"]
+[Opening "Sicilian defence"]
+
+1. e4 c5 2. Nf3 e6 *
+
+[ECO "B40"]
+[Opening "Sicilian"]
+[Variation "Marshall variation"]
+
+1. e4 c5 2. Nf3 e6 3. d4 d5 *
+
+[ECO "B40"]
+[Opening "Sicilian defence"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 *
+
+[ECO "B40"]
+[Opening "Sicilian"]
+[Variation "Anderssen variation"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nf6 *
+
+[ECO "B40"]
+[Opening "Sicilian"]
+[Variation "Pin variation (Sicilian counter-attack)"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Bb4 *
+
+[ECO "B40"]
+[Opening "Sicilian"]
+[Variation "Pin, Jaffe variation"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Bb4 6. Bd3 e5 *
+
+[ECO "B40"]
+[Opening "Sicilian"]
+[Variation "Pin, Koch variation"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Bb4 6. e5 *
+
+[ECO "B41"]
+[Opening "Sicilian"]
+[Variation "Kan variation"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 a6 *
+
+[ECO "B41"]
+[Opening "Sicilian"]
+[Variation "Kan, Maroczy bind (Reti variation)"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 a6 5. c4 *
+
+[ECO "B41"]
+[Opening "Sicilian"]
+[Variation "Kan, Maroczy bind - Bronstein variation"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 a6 5. c4 Nf6 6. Nc3 Bb4 7. Bd3 Nc6 8.
+Bc2 *
+
+[ECO "B42"]
+[Opening "Sicilian"]
+[Variation "Kan, 5.Bd3"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 a6 5. Bd3 *
+
+[ECO "B42"]
+[Opening "Sicilian"]
+[Variation "Kan, Gipslis variation"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 a6 5. Bd3 Nf6 6. O-O d6 7. c4 g6 *
+
+[ECO "B42"]
+[Opening "Sicilian"]
+[Variation "Kan, Polugaievsky variation"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 a6 5. Bd3 Bc5 *
+
+[ECO "B42"]
+[Opening "Sicilian"]
+[Variation "Kan, Swiss cheese variation"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 a6 5. Bd3 g6 *
+
+[ECO "B43"]
+[Opening "Sicilian"]
+[Variation "Kan, 5.Nc3"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 a6 5. Nc3 *
+
+[ECO "B44"]
+[Opening "Sicilian defence"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 *
+
+[ECO "B44"]
+[Opening "Sicilian, Szen (`anti-Taimanov') variation"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 5. Nb5 *
+
+[ECO "B44"]
+[Opening "Sicilian, Szen, hedgehog variation"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 5. Nb5 d6 6. c4 Nf6 7. N1c3 a6 8.
+Na3 Be7 9. Be2 O-O 10. O-O b6 *
+
+[ECO "B44"]
+[Opening "Sicilian, Szen variation, Dely-Kasparov gambit"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 5. Nb5 d6 6. c4 Nf6 7. N1c3 a6 8.
+Na3 d5 *
+
+[ECO "B45"]
+[Opening "Sicilian"]
+[Variation "Taimanov variation"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 5. Nc3 *
+
+[ECO "B45"]
+[Opening "Sicilian"]
+[Variation "Taimanov, American attack"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 5. Nc3 Nf6 6. Ndb5 Bb4 7. Nd6+ *
+
+[ECO "B46"]
+[Opening "Sicilian"]
+[Variation "Taimanov variation"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 5. Nc3 a6 *
+
+[ECO "B47"]
+[Opening "Sicilian"]
+[Variation "Taimanov (Bastrikov) variation"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 5. Nc3 Qc7 *
+
+[ECO "B48"]
+[Opening "Sicilian"]
+[Variation "Taimanov variation"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 5. Nc3 Qc7 6. Be3 *
+
+[ECO "B49"]
+[Opening "Sicilian"]
+[Variation "Taimanov variation"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 5. Nc3 Qc7 6. Be3 a6 7. Be2 *
+
+[ECO "B50"]
+[Opening "Sicilian"]
+
+1. e4 c5 2. Nf3 d6 *
+
+[ECO "B50"]
+[Opening "Sicilian"]
+[Variation "wing gambit deferred"]
+
+1. e4 c5 2. Nf3 d6 3. b4 *
+
+[ECO "B51"]
+[Opening "Sicilian"]
+[Variation "Canal-Sokolsky (Nimzovich-Rossolimo, Moscow) attack"]
+
+1. e4 c5 2. Nf3 d6 3. Bb5+ *
+
+[ECO "B52"]
+[Opening "Sicilian"]
+[Variation "Canal-Sokolsky attack, 3...Bd7"]
+
+1. e4 c5 2. Nf3 d6 3. Bb5+ Bd7 *
+
+[ECO "B52"]
+[Opening "Sicilian"]
+[Variation "Canal-Sokolsky attack, Bronstein gambit"]
+
+1. e4 c5 2. Nf3 d6 3. Bb5+ Bd7 4. Bxd7+ Qxd7 5. O-O Nc6 6. c3 Nf6 7. d4 *
+
+[ECO "B52"]
+[Opening "Sicilian"]
+[Variation "Canal-Sokolsky attack, Sokolsky variation"]
+
+1. e4 c5 2. Nf3 d6 3. Bb5+ Bd7 4. Bxd7+ Qxd7 5. c4 *
+
+[ECO "B53"]
+[Opening "Sicilian, Chekhover variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Qxd4 *
+
+[ECO "B53"]
+[Opening "Sicilian"]
+[Variation "Chekhover, Zaitsev variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Qxd4 Nc6 5. Bb5 Qd7 *
+
+[ECO "B54"]
+[Opening "Sicilian"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 *
+
+[ECO "B54"]
+[Opening "Sicilian"]
+[Variation "Prins (Moscow) variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. f3 *
+
+[ECO "B55"]
+[Opening "Sicilian"]
+[Variation "Prins variation, Venice attack"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. f3 e5 6. Bb5+ *
+
+[ECO "B56"]
+[Opening "Sicilian"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 *
+
+[ECO "B56"]
+[Opening "Sicilian"]
+[Variation "Venice attack"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e5 6. Bb5+ *
+
+[ECO "B56"]
+[Opening "Sicilian"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 *
+
+[ECO "B57"]
+[Opening "Sicilian"]
+[Variation "Sozin, not Scheveningen"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bc4 *
+
+[ECO "B57"]
+[Opening "Sicilian"]
+[Variation "Magnus Smith trap"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bc4 g6 7. Nxc6 bxc6
+8. e5 *
+
+[ECO "B57"]
+[Opening "Sicilian"]
+[Variation "Sozin, Benko variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bc4 Qb6 *
+
+[ECO "B58"]
+[Opening "Sicilian"]
+[Variation "classical"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 d6 6. Be2 *
+
+[ECO "B58"]
+[Opening "Sicilian"]
+[Variation "Boleslavsky variation"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 d6 6. Be2 e5 *
+
+[ECO "B58"]
+[Opening "Sicilian"]
+[Variation "Boleslavsky, Louma variation"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 d6 6. Be2 e5 7. Nxc6 *
+
+[ECO "B59"]
+[Opening "Sicilian"]
+[Variation "Boleslavsky variation, 7.Nb3"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 d6 6. Be2 e5 7. Nb3 *
+
+[ECO "B60"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 *
+
+[ECO "B60"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Bondarevsky variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 g6 *
+
+[ECO "B60"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Larsen variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 Bd7 *
+
+[ECO "B61"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Larsen variation, 7.Qd2"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 Bd7 7. Qd2 *
+
+[ECO "B62"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, 6...e6"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 *
+
+[ECO "B62"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Podvebrady variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Nb3 *
+
+[ECO "B62"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Margate (Alekhine) variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Bb5 *
+
+[ECO "B62"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Richter attack"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Nxc6 *
+
+[ECO "B62"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Keres variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd3 *
+
+[ECO "B63"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Rauzer attack"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2 *
+
+[ECO "B63"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Rauzer attack, 7...Be7"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2 Be7 *
+
+[ECO "B64"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Rauzer attack, 7...Be7 defence, 9.f4"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2 Be7 
+8. O-O-O O-O 9. f4 *
+
+[ECO "B64"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Rauzer attack, Geller variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2 Be7 
+8. O-O-O O-O 9. f4 e5 *
+
+[ECO "B65"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Rauzer attack, 7...Be7 defence, 9...Nxd4"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2 Be7 
+8. O-O-O O-O 9. f4 Nxd4 *
+
+[ECO "B65"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Rauzer attack, 7...Be7 defence, 9...Nxd4"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2 Be7 
+8. O-O-O O-O 9. f4 Nxd4 10. Qxd4 *
+
+[ECO "B66"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Rauzer attack, 7...a6"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2 a6 *
+
+[ECO "B67"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Rauzer attack, 7...a6 defence, 8...Bd7"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2 a6 8.
+O-O-O Bd7 *
+
+[ECO "B68"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Rauzer attack, 7...a6 defence, 9...Be7"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2 a6 8.
+O-O-O Bd7 9. f4 Be7 *
+
+[ECO "B69"]
+[Opening "Sicilian"]
+[Variation "Richter-Rauzer, Rauzer attack, 7...a6 defence, 11.Bxf6"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2 a6 8.
+O-O-O Bd7 9. f4 Be7 10. Nf3 b5 11. Bxf6 *
+
+[ECO "B70"]
+[Opening "Sicilian"]
+[Variation "dragon variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 *
+
+[ECO "B71"]
+[Opening "Sicilian"]
+[Variation "dragon, Levenfish variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. f4 *
+
+[ECO "B71"]
+[Opening "Sicilian"]
+[Variation "dragon, Levenfish; Flohr variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. f4 Nbd7 *
+
+[ECO "B72"]
+[Opening "Sicilian"]
+[Variation "dragon, 6.Be3"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 *
+
+[ECO "B72"]
+[Opening "Sicilian"]
+[Variation "dragon, classical attack"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. Be2 *
+
+[ECO "B72"]
+[Opening "Sicilian"]
+[Variation "dragon, classical, Amsterdam variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. Be2 Nc6 
+8. Qd2 *
+
+[ECO "B72"]
+[Opening "Sicilian"]
+[Variation "dragon, classical, Grigoriev variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. Be2 Nc6 
+8. Qd2 O-O 9. O-O-O *
+
+[ECO "B72"]
+[Opening "Sicilian"]
+[Variation "dragon, classical, Nottingham variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. Be2 Nc6 
+8. Nb3 *
+
+[ECO "B73"]
+[Opening "Sicilian"]
+[Variation "dragon, classical, 8.O-O"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. Be2 Nc6 
+8. O-O *
+
+[ECO "B73"]
+[Opening "Sicilian"]
+[Variation "dragon, classical, Zollner gambit"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. Be2 Nc6 
+8. O-O O-O 9. f4 Qb6 10. e5 *
+
+[ECO "B73"]
+[Opening "Sicilian"]
+[Variation "dragon, classical, Richter variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. Be2 Nc6 
+8. O-O O-O 9. Qd2 *
+
+[ECO "B74"]
+[Opening "Sicilian"]
+[Variation "dragon, classical, 9.Nb3"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. Be2 Nc6 
+8. O-O O-O 9. Nb3 *
+
+[ECO "B74"]
+[Opening "Sicilian"]
+[Variation "dragon, classical, Stockholm attack"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. Be2 Nc6 
+8. O-O O-O 9. Nb3 Be6 10. f4 Na5 11. f5 Bc4 12. Nxa5 Bxe2 13. Qxe2 Qxa5 14.
+g4 *
+
+[ECO "B74"]
+[Opening "Sicilian"]
+[Variation "dragon, classical, Spielmann variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. Be2 Nc6 
+8. O-O O-O 9. Nb3 Be6 10. f4 Na5 11. f5 Bc4 12. Bd3 *
+
+[ECO "B74"]
+[Opening "Sicilian"]
+[Variation "dragon, classical, Bernard defence"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. Be2 Nc6 
+8. O-O O-O 9. Nb3 Be6 10. f4 Na5 11. f5 Bc4 12. Bd3 Bxd3 13. cxd3 d5 *
+
+[ECO "B74"]
+[Opening "Sicilian"]
+[Variation "dragon, classical, Reti-Tartakower variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. Be2 Nc6 
+8. O-O O-O 9. Nb3 Be6 10. f4 Qc8 *
+
+[ECO "B74"]
+[Opening "Sicilian"]
+[Variation "dragon, classical, Alekhine variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. Be2 Nc6 
+8. O-O O-O 9. Nb3 a5 *
+
+[ECO "B75"]
+[Opening "Sicilian"]
+[Variation "dragon, Yugoslav attack"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. f3 *
+
+[ECO "B76"]
+[Opening "Sicilian"]
+[Variation "dragon, Yugoslav attack, 7...O-O"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. f3 O-O *
+
+[ECO "B76"]
+[Opening "Sicilian"]
+[Variation "dragon, Yugoslav attack, Rauser variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. f3 O-O 8.
+Qd2 Nc6 9. O-O-O *
+
+[ECO "B77"]
+[Opening "Sicilian"]
+[Variation "dragon, Yugoslav attack, 9.Bc4"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. f3 O-O 8.
+Qd2 Nc6 9. Bc4 *
+
+[ECO "B77"]
+[Opening "Sicilian"]
+[Variation "dragon, Yugoslav attack, Byrne variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. f3 O-O 8.
+Qd2 Nc6 9. Bc4 a5 *
+
+[ECO "B77"]
+[Opening "Sicilian"]
+[Variation "dragon, Yugoslav attack, 9...Bd7"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. f3 O-O 8.
+Qd2 Nc6 9. Bc4 Bd7 *
+
+[ECO "B78"]
+[Opening "Sicilian"]
+[Variation "dragon, Yugoslav attack, 10.O-O-O"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. f3 O-O 8.
+Qd2 Nc6 9. Bc4 Bd7 10. O-O-O *
+
+[ECO "B79"]
+[Opening "Sicilian"]
+[Variation "dragon, Yugoslav attack, 12.h4"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. f3 O-O 8.
+Qd2 Nc6 9. Bc4 Bd7 10. O-O-O Qa5 11. Bb3 Rfc8 12. h4 *
+
+[ECO "B80"]
+[Opening "Sicilian"]
+[Variation "Scheveningen variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 *
+
+[ECO "B80"]
+[Opening "Sicilian"]
+[Variation "Scheveningen, English variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Be3 a6 7. Qd2 *
+
+[ECO "B80"]
+[Opening "Sicilian"]
+[Variation "Scheveningen, Vitolins variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Bb5+ *
+
+[ECO "B80"]
+[Opening "Sicilian"]
+[Variation "Scheveningen, fianchetto variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. g3 *
+
+[ECO "B81"]
+[Opening "Sicilian"]
+[Variation "Scheveningen, Keres attack"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. g4 *
+
+[ECO "B82"]
+[Opening "Sicilian"]
+[Variation "Scheveningen, 6.f4"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. f4 *
+
+[ECO "B82"]
+[Opening "Sicilian"]
+[Variation "Scheveningen, Tal variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. f4 Nc6 7. Be3 Be7 8.
+Qf3 *
+
+[ECO "B83"]
+[Opening "Sicilian"]
+[Variation "Scheveningen, 6.Be2"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Be2 *
+
+[ECO "B83"]
+[Opening "Sicilian"]
+[Variation "modern Scheveningen"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Be2 Nc6 *
+
+[ECO "B83"]
+[Opening "Sicilian"]
+[Variation "modern Scheveningen, main line"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Be2 Nc6 7. O-O Be7 
+8. Be3 O-O 9. f4 *
+
+[ECO "B83"]
+[Opening "Sicilian"]
+[Variation "modern Scheveningen, main line with Nb3"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Be2 Nc6 7. O-O Be7 
+8. Be3 O-O 9. f4 Bd7 10. Nb3 *
+
+[ECO "B84"]
+[Opening "Sicilian"]
+[Variation "Scheveningen (Paulsen), classical variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Be2 a6 *
+
+[ECO "B84"]
+[Opening "Sicilian"]
+[Variation "Scheveningen, classical, Nd7 system"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Be2 a6 7. O-O Nbd7 *
+
+[ECO "B84"]
+[Opening "Sicilian"]
+[Variation "Scheveningen (Paulsen), classical variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Be2 a6 7. O-O Qc7 *
+
+[ECO "B85"]
+[Opening "Sicilian"]
+[Variation "Scheveningen, classical variation with ...Qc7 and ...Nc6"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Be2 a6 7. O-O Qc7 8.
+f4 Nc6 *
+
+[ECO "B85"]
+[Opening "Sicilian"]
+[Variation "Scheveningen, classical, Maroczy system"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Be2 a6 7. O-O Qc7 8.
+f4 Nc6 9. Kh1 Be7 10. a4 *
+
+[ECO "B85"]
+[Opening "Sicilian"]
+[Variation "Scheveningen, classical"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Be2 a6 7. O-O Qc7 8.
+f4 Nc6 9. Be3 *
+
+[ECO "B85"]
+[Opening "Sicilian"]
+[Variation "Scheveningen, classical main line"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Be2 a6 7. O-O Qc7 8.
+f4 Nc6 9. Be3 Be7 10. Qe1 O-O *
+
+[ECO "B86"]
+[Opening "Sicilian"]
+[Variation "Sozin attack"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Bc4 *
+
+[ECO "B87"]
+[Opening "Sicilian"]
+[Variation "Sozin with ...a6 and ...b5"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Bc4 a6 7. Bb3 b5 *
+
+[ECO "B88"]
+[Opening "Sicilian"]
+[Variation "Sozin, Leonhardt variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Bc4 Nc6 *
+
+[ECO "B88"]
+[Opening "Sicilian"]
+[Variation "Sozin, Fischer variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Bc4 Nc6 7. Bb3 Be7 
+8. Be3 O-O 9. f4 *
+
+[ECO "B89"]
+[Opening "Sicilian"]
+[Variation "Sozin, 7.Be3"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Bc4 Nc6 7. Be3 *
+
+[ECO "B89"]
+[Opening "Sicilian"]
+[Variation "Velimirovic attack"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Bc4 Nc6 7. Be3 Be7 
+8. Qe2 *
+
+[ECO "B90"]
+[Opening "Sicilian"]
+[Variation "Najdorf"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 *
+
+[ECO "B90"]
+[Opening "Sicilian"]
+[Variation "Najdorf, Adams attack"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. h3 *
+
+[ECO "B90"]
+[Opening "Sicilian"]
+[Variation "Najdorf, Lipnitzky attack"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bc4 *
+
+[ECO "B90"]
+[Opening "Sicilian"]
+[Variation "Najdorf, Byrne (English) attack"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Be3 *
+
+[ECO "B91"]
+[Opening "Sicilian"]
+[Variation "Najdorf, Zagreb (fianchetto) variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. g3 *
+
+[ECO "B92"]
+[Opening "Sicilian"]
+[Variation "Najdorf, Opovcensky variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Be2 *
+
+[ECO "B93"]
+[Opening "Sicilian"]
+[Variation "Najdorf, 6.f4"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. f4 *
+
+[ECO "B94"]
+[Opening "Sicilian"]
+[Variation "Najdorf, 6.Bg5"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 *
+
+[ECO "B94"]
+[Opening "Sicilian"]
+[Variation "Najdorf, Ivkov variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 Nbd7 7. Bc4 Qa5
+8. Qd2 e6 9. O-O-O b5 10. Bb3 Bb7 11. Rhe1 Nc5 12. e5 *
+
+[ECO "B95"]
+[Opening "Sicilian"]
+[Variation "Najdorf, 6...e6"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 *
+
+[ECO "B96"]
+[Opening "Sicilian"]
+[Variation "Najdorf, 7.f4"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 *
+
+[ECO "B96"]
+[Opening "Sicilian"]
+[Variation "Najdorf, Polugayevsky variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 b5 *
+
+[ECO "B96"]
+[Opening "Sicilian"]
+[Variation "Najdorf, Polugayevsky, Simagin variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 b5 8. 
+e5 dxe5 9. fxe5 Qc7 10. Qe2 *
+
+[ECO "B97"]
+[Opening "Sicilian"]
+[Variation "Najdorf, 7...Qb6"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Qb6 *
+
+[ECO "B97"]
+[Opening "Sicilian"]
+[Variation "Najdorf, Poisoned pawn variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Qb6 8.
+Qd2 Qxb2 9. Rb1 Qa3 *
+
+[ECO "B98"]
+[Opening "Sicilian"]
+[Variation "Najdorf, 7...Be7"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Be7 *
+
+[ECO "B98"]
+[Opening "Sicilian"]
+[Variation "Najdorf, Browne variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Be7 8.
+Qf3 h6 9. Bh4 Qc7 *
+
+[ECO "B98"]
+[Opening "Sicilian"]
+[Variation "Najdorf, Goteborg (Argentine) variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Be7 8.
+Qf3 h6 9. Bh4 g5 *
+
+[ECO "B98"]
+[Opening "Sicilian"]
+[Variation "Najdorf variation"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Be7 8.
+Qf3 Qc7 *
+
+[ECO "B99"]
+[Opening "Sicilian"]
+[Variation "Najdorf, 7...Be7 main line"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Be7 8.
+Qf3 Qc7 9. O-O-O Nbd7 *
+
+[ECO "C00"]
+[Opening "French defence"]
+
+1. e4 e6 *
+
+[ECO "C00"]
+[Opening "French defence, Steiner variation"]
+
+1. e4 e6 2. c4 *
+
+[ECO "C00"]
+[Opening "French"]
+[Variation "Reti (Spielmann) variation"]
+
+1. e4 e6 2. b3 *
+
+[ECO "C00"]
+[Opening "French"]
+[Variation "Steinitz attack"]
+
+1. e4 e6 2. e5 *
+
+[ECO "C00"]
+[Opening "French"]
+[Variation "Labourdonnais variation"]
+
+1. e4 e6 2. f4 *
+
+[ECO "C00"]
+[Opening "French defence"]
+
+1. e4 e6 2. Nf3 *
+
+[ECO "C00"]
+[Opening "French"]
+[Variation "Wing gambit"]
+
+1. e4 e6 2. Nf3 d5 3. e5 c5 4. b4 *
+
+[ECO "C00"]
+[Opening "French defence"]
+
+1. e4 e6 2. Nc3 *
+
+[ECO "C00"]
+[Opening "French"]
+[Variation "Pelikan variation"]
+
+1. e4 e6 2. Nc3 d5 3. f4 *
+
+[ECO "C00"]
+[Opening "French"]
+[Variation "Two knights variation"]
+
+1. e4 e6 2. Nc3 d5 3. Nf3 *
+
+[ECO "C00"]
+[Opening "French"]
+[Variation "Chigorin variation"]
+
+1. e4 e6 2. Qe2 *
+
+[ECO "C00"]
+[Opening "French"]
+[Variation "King's Indian attack"]
+
+1. e4 e6 2. d3 *
+
+[ECO "C00"]
+[Opening "French"]
+[Variation "Reversed Philidor formation"]
+
+1. e4 e6 2. d3 d5 3. Nd2 Nf6 4. Ngf3 Nc6 5. Be2 *
+
+[ECO "C00"]
+[Opening "French defence"]
+
+1. e4 e6 2. d4 *
+
+[ECO "C00"]
+[Opening "Lengfellner system"]
+
+1. e4 e6 2. d4 d6 *
+
+[ECO "C00"]
+[Opening "St. George defence"]
+
+1. e4 e6 2. d4 a6 *
+
+[ECO "C00"]
+[Opening "French defence"]
+
+1. e4 e6 2. d4 d5 *
+
+[ECO "C00"]
+[Opening "French"]
+[Variation "Schlechter variation"]
+
+1. e4 e6 2. d4 d5 3. Bd3 *
+
+[ECO "C00"]
+[Opening "French"]
+[Variation "Alapin variation"]
+
+1. e4 e6 2. d4 d5 3. Be3 *
+
+[ECO "C01"]
+[Opening "French"]
+[Variation "exchange variation"]
+
+1. e4 e6 2. d4 d5 3. exd5 *
+
+[ECO "C01"]
+[Opening "French"]
+[Variation "exchange, Svenonius variation"]
+
+1. e4 e6 2. d4 d5 3. exd5 exd5 4. Nc3 Nf6 5. Bg5 *
+
+[ECO "C01"]
+[Opening "French"]
+[Variation "exchange, Bogolyubov variation"]
+
+1. e4 e6 2. d4 d5 3. exd5 exd5 4. Nc3 Nf6 5. Bg5 Nc6 *
+
+[ECO "C02"]
+[Opening "French"]
+[Variation "advance variation"]
+
+1. e4 e6 2. d4 d5 3. e5 *
+
+[ECO "C02"]
+[Opening "French"]
+[Variation "advance, Steinitz variation"]
+
+1. e4 e6 2. d4 d5 3. e5 c5 4. dxc5 *
+
+[ECO "C02"]
+[Opening "French"]
+[Variation "advance, Nimzovich variation"]
+
+1. e4 e6 2. d4 d5 3. e5 c5 4. Qg4 *
+
+[ECO "C02"]
+[Opening "French"]
+[Variation "advance, Nimzovich system"]
+
+1. e4 e6 2. d4 d5 3. e5 c5 4. Nf3 *
+
+[ECO "C02"]
+[Opening "French"]
+[Variation "advance variation"]
+
+1. e4 e6 2. d4 d5 3. e5 c5 4. c3 *
+
+[ECO "C02"]
+[Opening "French"]
+[Variation "advance, Wade variation"]
+
+1. e4 e6 2. d4 d5 3. e5 c5 4. c3 Qb6 5. Nf3 Bd7 *
+
+[ECO "C02"]
+[Opening "French"]
+[Variation "advance variation"]
+
+1. e4 e6 2. d4 d5 3. e5 c5 4. c3 Nc6 *
+
+[ECO "C02"]
+[Opening "French"]
+[Variation "advance, Paulsen attack"]
+
+1. e4 e6 2. d4 d5 3. e5 c5 4. c3 Nc6 5. Nf3 *
+
+[ECO "C02"]
+[Opening "French"]
+[Variation "advance, Milner-Barry gambit"]
+
+1. e4 e6 2. d4 d5 3. e5 c5 4. c3 Nc6 5. Nf3 Qb6 6. Bd3 *
+
+[ECO "C02"]
+[Opening "French"]
+[Variation "advance, Euwe variation"]
+
+1. e4 e6 2. d4 d5 3. e5 c5 4. c3 Nc6 5. Nf3 Bd7 *
+
+[ECO "C03"]
+[Opening "French"]
+[Variation "Tarrasch"]
+
+1. e4 e6 2. d4 d5 3. Nd2 *
+
+[ECO "C03"]
+[Opening "French"]
+[Variation "Tarrasch, Haberditz variation"]
+
+1. e4 e6 2. d4 d5 3. Nd2 f5 *
+
+[ECO "C03"]
+[Opening "French"]
+[Variation "Tarrasch, Guimard variation"]
+
+1. e4 e6 2. d4 d5 3. Nd2 Nc6 *
+
+[ECO "C04"]
+[Opening "French"]
+[Variation "Tarrasch, Guimard main line"]
+
+1. e4 e6 2. d4 d5 3. Nd2 Nc6 4. Ngf3 Nf6 *
+
+[ECO "C05"]
+[Opening "French"]
+[Variation "Tarrasch, closed variation"]
+
+1. e4 e6 2. d4 d5 3. Nd2 Nf6 *
+
+[ECO "C05"]
+[Opening "French"]
+[Variation "Tarrasch, Botvinnik variation"]
+
+1. e4 e6 2. d4 d5 3. Nd2 Nf6 4. e5 Nfd7 5. Bd3 c5 6. c3 b6 *
+
+[ECO "C05"]
+[Opening "French"]
+[Variation "Tarrasch, closed variation"]
+
+1. e4 e6 2. d4 d5 3. Nd2 Nf6 4. e5 Nfd7 5. Bd3 c5 6. c3 Nc6 *
+
+[ECO "C06"]
+[Opening "French"]
+[Variation "Tarrasch, closed variation, main line"]
+
+1. e4 e6 2. d4 d5 3. Nd2 Nf6 4. e5 Nfd7 5. Bd3 c5 6. c3 Nc6 7. Ne2 cxd4 8.
+cxd4 *
+
+[ECO "C06"]
+[Opening "French"]
+[Variation "Tarrasch, Leningrad variation"]
+
+1. e4 e6 2. d4 d5 3. Nd2 Nf6 4. e5 Nfd7 5. Bd3 c5 6. c3 Nc6 7. Ne2 cxd4 8.
+cxd4 Nb6 *
+
+[ECO "C07"]
+[Opening "French"]
+[Variation "Tarrasch, open variation"]
+
+1. e4 e6 2. d4 d5 3. Nd2 c5 *
+
+[ECO "C07"]
+[Opening "French"]
+[Variation "Tarrasch, Eliskases variation"]
+
+1. e4 e6 2. d4 d5 3. Nd2 c5 4. exd5 Qxd5 5. Ngf3 cxd4 6. Bc4 Qd8 *
+
+[ECO "C08"]
+[Opening "French"]
+[Variation "Tarrasch, open, 4.ed ed"]
+
+1. e4 e6 2. d4 d5 3. Nd2 c5 4. exd5 exd5 *
+
+[ECO "C09"]
+[Opening "French"]
+[Variation "Tarrasch, open variation, main line"]
+
+1. e4 e6 2. d4 d5 3. Nd2 c5 4. exd5 exd5 5. Ngf3 Nc6 *
+
+[ECO "C10"]
+[Opening "French"]
+[Variation "Paulsen variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 *
+
+[ECO "C10"]
+[Opening "French"]
+[Variation "Marshall variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 c5 *
+
+[ECO "C10"]
+[Opening "French"]
+[Variation "Rubinstein variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 dxe4 *
+
+[ECO "C10"]
+[Opening "French"]
+[Variation "Fort Knox variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Bd7 5. Nf3 Bc6 *
+
+[ECO "C10"]
+[Opening "French"]
+[Variation "Rubinstein variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Nd7 *
+
+[ECO "C10"]
+[Opening "French"]
+[Variation "Rubinstein, Capablanca line"]
+
+1. e4 e6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Nd7 5. Nf3 Ngf6 6. Nxf6+ Nxf6 7. Ne5
+*
+
+[ECO "C10"]
+[Opening "French"]
+[Variation "Frere (Becker) variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Qd5 *
+
+[ECO "C11"]
+[Opening "French defence"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 *
+
+[ECO "C11"]
+[Opening "French"]
+[Variation "Swiss variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bd3 *
+
+[ECO "C11"]
+[Opening "French"]
+[Variation "Henneberger variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Be3 *
+
+[ECO "C11"]
+[Opening "French"]
+[Variation "Steinitz variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. e5 *
+
+[ECO "C11"]
+[Opening "French"]
+[Variation "Steinitz, Bradford attack"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. e5 Nfd7 5. f4 c5 6. dxc5 Bxc5 7. Qg4 *
+
+[ECO "C11"]
+[Opening "French"]
+[Variation "Steinitz variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. e5 Nfd7 5. f4 c5 6. dxc5 Nc6 *
+
+[ECO "C11"]
+[Opening "French"]
+[Variation "Steinitz, Brodsky-Jones variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. e5 Nfd7 5. f4 c5 6. dxc5 Nc6 7. a3 Bxc5 8.
+Qg4 O-O 9. Nf3 f6 *
+
+[ECO "C11"]
+[Opening "French"]
+[Variation "Steinitz variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. e5 Nfd7 5. f4 c5 6. Nf3 *
+
+[ECO "C11"]
+[Opening "French"]
+[Variation "Steinitz, Boleslavsky variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. e5 Nfd7 5. f4 c5 6. Nf3 Nc6 7. Be3 *
+
+[ECO "C11"]
+[Opening "French"]
+[Variation "Steinitz, Gledhill attack"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. e5 Nfd7 5. Qg4 *
+
+[ECO "C11"]
+[Opening "French"]
+[Variation "Burn variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 dxe4 *
+
+[ECO "C12"]
+[Opening "French"]
+[Variation "MacCutcheon variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Bb4 *
+
+[ECO "C12"]
+[Opening "French"]
+[Variation "MacCutcheon, Bogolyubov variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Bb4 5. exd5 Qxd5 6. Bxf6 gxf6 7. Qd2 
+Qa5 *
+
+[ECO "C12"]
+[Opening "French"]
+[Variation "MacCutcheon, advance variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Bb4 5. e5 *
+
+[ECO "C12"]
+[Opening "French"]
+[Variation "MacCutcheon, Chigorin variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Bb4 5. e5 h6 6. exf6 *
+
+[ECO "C12"]
+[Opening "French"]
+[Variation "MacCutcheon, Grigoriev variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Bb4 5. e5 h6 6. exf6 hxg5 7. fxg7 Rg8 
+8. h4 gxh4 9. Qg4 *
+
+[ECO "C12"]
+[Opening "French"]
+[Variation "MacCutcheon, Bernstein variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Bb4 5. e5 h6 6. Bh4 *
+
+[ECO "C12"]
+[Opening "French"]
+[Variation "MacCutcheon, Janowski variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Bb4 5. e5 h6 6. Be3 *
+
+[ECO "C12"]
+[Opening "French"]
+[Variation "MacCutcheon, Dr. Olland (Dutch) variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Bb4 5. e5 h6 6. Bc1 *
+
+[ECO "C12"]
+[Opening "French"]
+[Variation "MacCutcheon, Tartakower variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Bb4 5. e5 h6 6. Bd2 Nfd7 *
+
+[ECO "C12"]
+[Opening "French"]
+[Variation "MacCutcheon, Lasker variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Bb4 5. e5 h6 6. Bd2 Bxc3 *
+
+[ECO "C12"]
+[Opening "French"]
+[Variation "MacCutcheon, Duras variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Bb4 5. e5 h6 6. Bd2 Bxc3 7. bxc3 Ne4 8.
+Qg4 Kf8 9. Bc1 *
+
+[ECO "C12"]
+[Opening "French"]
+[Variation "MacCutcheon, Lasker variation, 8...g6"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Bb4 5. e5 h6 6. Bd2 Bxc3 7. bxc3 Ne4 8.
+Qg4 g6 *
+
+[ECO "C13"]
+[Opening "French"]
+[Variation "classical"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 *
+
+[ECO "C13"]
+[Opening "French"]
+[Variation "classical, Anderssen variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. Bxf6 *
+
+[ECO "C13"]
+[Opening "French"]
+[Variation "classical, Anderssen-Richter variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. Bxf6 Bxf6 6. e5 Be7 7. Qg4 *
+
+[ECO "C13"]
+[Opening "French"]
+[Variation "classical, Vistaneckis (Nimzovich) variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. e5 Ng8 *
+
+[ECO "C13"]
+[Opening "French"]
+[Variation "classical, Frankfurt variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. e5 Ng8 6. Be3 b6 *
+
+[ECO "C13"]
+[Opening "French"]
+[Variation "classical, Tartakower variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. e5 Ne4 *
+
+[ECO "C13"]
+[Opening "French"]
+[Variation "Albin-Alekhine-Chatard attack"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. e5 Nfd7 6. h4 *
+
+[ECO "C13"]
+[Opening "French"]
+[Variation "Albin-Alekhine-Chatard attack, Maroczy variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. e5 Nfd7 6. h4 a6 *
+
+[ECO "C13"]
+[Opening "French"]
+[Variation "Albin-Alekhine-Chatard attack, Breyer variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. e5 Nfd7 6. h4 c5 *
+
+[ECO "C13"]
+[Opening "French"]
+[Variation "Albin-Alekhine-Chatard attack, Teichmann variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. e5 Nfd7 6. h4 f6 *
+
+[ECO "C13"]
+[Opening "French"]
+[Variation "Albin-Alekhine-Chatard attack, Spielmann variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. e5 Nfd7 6. h4 O-O *
+
+[ECO "C14"]
+[Opening "French"]
+[Variation "classical variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. e5 Nfd7 6. Bxe7 Qxe7 *
+
+[ECO "C14"]
+[Opening "French"]
+[Variation "classical, Tarrasch variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. e5 Nfd7 6. Bxe7 Qxe7 7. Bd3 *
+
+[ECO "C14"]
+[Opening "French"]
+[Variation "classical, Rubinstein variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. e5 Nfd7 6. Bxe7 Qxe7 7. Qd2 *
+
+[ECO "C14"]
+[Opening "French"]
+[Variation "classical, Alapin variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. e5 Nfd7 6. Bxe7 Qxe7 7. Nb5 *
+
+[ECO "C14"]
+[Opening "French"]
+[Variation "classical, Pollock variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. e5 Nfd7 6. Bxe7 Qxe7 7. Qg4 *
+
+[ECO "C14"]
+[Opening "French"]
+[Variation "classical, Steinitz variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. e5 Nfd7 6. Bxe7 Qxe7 7. f4 *
+
+[ECO "C14"]
+[Opening "French"]
+[Variation "classical, Stahlberg variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Be7 5. e5 Nfd7 6. Bxe7 Qxe7 7. f4 O-O 
+8. Nf3 c5 9. Qd2 Nc6 10. O-O-O c4 *
+
+[ECO "C15"]
+[Opening "French"]
+[Variation "Winawer (Nimzovich) variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 *
+
+[ECO "C15"]
+[Opening "French"]
+[Variation "Winawer, Kondratiyev variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. Bd3 c5 5. exd5 Qxd5 6. Bd2 *
+
+[ECO "C15"]
+[Opening "French"]
+[Variation "Winawer, fingerslip variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. Bd2 *
+
+[ECO "C15"]
+[Opening "French"]
+[Variation "Winawer, Alekhine (Maroczy) gambit"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. Ne2 *
+
+[ECO "C15"]
+[Opening "French"]
+[Variation "Winawer, Alekhine gambit, Alatortsev variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. Ne2 dxe4 5. a3 Be7 6. Nxe4 Nf6 7. N2g3 O-O
+8. Be2 Nc6 *
+
+[ECO "C15"]
+[Opening "French"]
+[Variation "Winawer, Alekhine gambit"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. Ne2 dxe4 5. a3 Bxc3+ *
+
+[ECO "C15"]
+[Opening "French"]
+[Variation "Winawer, Alekhine gambit, Kan variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. Ne2 dxe4 5. a3 Bxc3+ 6. Nxc3 Nc6 *
+
+[ECO "C16"]
+[Opening "French"]
+[Variation "Winawer, advance variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 *
+
+[ECO "C16"]
+[Opening "French"]
+[Variation "Winawer, Petrosian variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 Qd7 *
+
+[ECO "C17"]
+[Opening "French"]
+[Variation "Winawer, advance variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 c5 *
+
+[ECO "C17"]
+[Opening "French"]
+[Variation "Winawer, advance, Bogolyubov variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 c5 5. Bd2 *
+
+[ECO "C17"]
+[Opening "French"]
+[Variation "Winawer, advance, Russian variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 c5 5. Qg4 *
+
+[ECO "C17"]
+[Opening "French"]
+[Variation "Winawer, advance, 5.a3"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 c5 5. a3 *
+
+[ECO "C17"]
+[Opening "French"]
+[Variation "Winawer, advance, Rauzer variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 c5 5. a3 cxd4 6. axb4 dxc3 7. Nf3 *
+
+[ECO "C18"]
+[Opening "French"]
+[Variation "Winawer, advance variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 c5 5. a3 Bxc3+ 6. bxc3 *
+
+[ECO "C18"]
+[Opening "French"]
+[Variation "Winawer, classical variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 c5 5. a3 Bxc3+ 6. bxc3 Qc7 *
+
+[ECO "C19"]
+[Opening "French"]
+[Variation "Winawer, advance, 6...Ne7"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 c5 5. a3 Bxc3+ 6. bxc3 Ne7 *
+
+[ECO "C19"]
+[Opening "French"]
+[Variation "Winawer, advance, Smyslov variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 c5 5. a3 Bxc3+ 6. bxc3 Ne7 7. a4 *
+
+[ECO "C19"]
+[Opening "French"]
+[Variation "Winawer, advance, positional main line"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 c5 5. a3 Bxc3+ 6. bxc3 Ne7 7. Nf3 *
+
+[ECO "C19"]
+[Opening "French"]
+[Variation "Winawer, advance, poisoned pawn variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 c5 5. a3 Bxc3+ 6. bxc3 Ne7 7. Qg4 *
+
+[ECO "C19"]
+[Opening "French"]
+[Variation "Winawer, advance, poisoned pawn, Euwe-Gligoric variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 c5 5. a3 Bxc3+ 6. bxc3 Ne7 7. Qg4 Qc7 8.
+Qxg7 Rg8 9. Qxh7 cxd4 10. Kd1 *
+
+[ECO "C19"]
+[Opening "French"]
+[Variation "Winawer, advance, poisoned pawn, Konstantinopolsky variation"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 c5 5. a3 Bxc3+ 6. bxc3 Ne7 7. Qg4 Qc7 8.
+Qxg7 Rg8 9. Qxh7 cxd4 10. Ne2 *
+
+[ECO "C20"]
+[Opening "King's pawn game"]
+
+1. e4 e5 *
+
+[ECO "C20"]
+[Opening "KP"]
+[Variation "Indian opening"]
+
+1. e4 e5 2. d3 *
+
+[ECO "C20"]
+[Opening "KP"]
+[Variation "Mengarini's opening"]
+
+1. e4 e5 2. a3 *
+
+[ECO "C20"]
+[Opening "KP"]
+[Variation "King's head opening"]
+
+1. e4 e5 2. f3 *
+
+[ECO "C20"]
+[Opening "KP"]
+[Variation "Patzer opening"]
+
+1. e4 e5 2. Qh5 *
+
+[ECO "C20"]
+[Opening "KP"]
+[Variation "Napoleon's opening"]
+
+1. e4 e5 2. Qf3 *
+
+[ECO "C20"]
+[Opening "KP"]
+[Variation "Lopez opening"]
+
+1. e4 e5 2. c3 *
+
+[ECO "C20"]
+[Opening "Alapin's opening"]
+
+1. e4 e5 2. Ne2 *
+
+[ECO "C21"]
+[Opening "Centre game"]
+
+1. e4 e5 2. d4 exd4 *
+
+[ECO "C21"]
+[Opening "Centre game, Kieseritsky variation"]
+
+1. e4 e5 2. d4 exd4 3. Nf3 c5 4. Bc4 b5 *
+
+[ECO "C21"]
+[Opening "Halasz gambit"]
+
+1. e4 e5 2. d4 exd4 3. f4 *
+
+[ECO "C21"]
+[Opening "Danish gambit"]
+
+1. e4 e5 2. d4 exd4 3. c3 *
+
+[ECO "C21"]
+[Opening "Danish gambit"]
+[Variation "Collijn defence"]
+
+1. e4 e5 2. d4 exd4 3. c3 dxc3 4. Bc4 cxb2 5. Bxb2 Qe7 *
+
+[ECO "C21"]
+[Opening "Danish gambit"]
+[Variation "Schlechter defence"]
+
+1. e4 e5 2. d4 exd4 3. c3 dxc3 4. Bc4 cxb2 5. Bxb2 d5 *
+
+[ECO "C21"]
+[Opening "Danish gambit"]
+[Variation "Soerensen defence"]
+
+1. e4 e5 2. d4 exd4 3. c3 d5 *
+
+[ECO "C21"]
+[Opening "Centre game"]
+
+1. e4 e5 2. d4 exd4 3. Qxd4 *
+
+[ECO "C22"]
+[Opening "Centre game"]
+
+1. e4 e5 2. d4 exd4 3. Qxd4 Nc6 *
+
+[ECO "C22"]
+[Opening "Centre game"]
+[Variation "Paulsen attack"]
+
+1. e4 e5 2. d4 exd4 3. Qxd4 Nc6 4. Qe3 *
+
+[ECO "C22"]
+[Opening "Centre game"]
+[Variation "Charousek variation"]
+
+1. e4 e5 2. d4 exd4 3. Qxd4 Nc6 4. Qe3 Bb4+ 5. c3 Be7 *
+
+[ECO "C22"]
+[Opening "Centre game"]
+[Variation "l'Hermet variation"]
+
+1. e4 e5 2. d4 exd4 3. Qxd4 Nc6 4. Qe3 f5 *
+
+[ECO "C22"]
+[Opening "Centre game"]
+[Variation "Berger variation"]
+
+1. e4 e5 2. d4 exd4 3. Qxd4 Nc6 4. Qe3 Nf6 *
+
+[ECO "C22"]
+[Opening "Centre game"]
+[Variation "Kupreichik variation"]
+
+1. e4 e5 2. d4 exd4 3. Qxd4 Nc6 4. Qe3 Nf6 5. Nc3 Bb4 6. Bd2 O-O 7. O-O-O 
+Re8 8. Bc4 d6 9. Nh3 *
+
+[ECO "C22"]
+[Opening "Centre game"]
+[Variation "Hall variation"]
+
+1. e4 e5 2. d4 exd4 3. Qxd4 Nc6 4. Qc4 *
+
+[ECO "C23"]
+[Opening "Bishop's opening"]
+
+1. e4 e5 2. Bc4 *
+
+[ECO "C23"]
+[Opening "Bishop's opening"]
+[Variation "Philidor counter-attack"]
+
+1. e4 e5 2. Bc4 c6 *
+
+[ECO "C23"]
+[Opening "Bishop's opening"]
+[Variation "Lisitsyn variation"]
+
+1. e4 e5 2. Bc4 c6 3. d4 d5 4. exd5 cxd5 5. Bb5+ Bd7 6. Bxd7+ Nxd7 7. dxe5
+Nxe5 8. Ne2 *
+
+[ECO "C23"]
+[Opening "Bishop's opening"]
+[Variation "Calabrese counter-gambit"]
+
+1. e4 e5 2. Bc4 f5 *
+
+[ECO "C23"]
+[Opening "Bishop's opening"]
+[Variation "Calabrese counter-gambit, Jaenisch variation"]
+
+1. e4 e5 2. Bc4 f5 3. d3 *
+
+[ECO "C23"]
+[Opening "Bishop's opening"]
+[Variation "Classical variation"]
+
+1. e4 e5 2. Bc4 Bc5 *
+
+[ECO "C23"]
+[Opening "Bishop's opening"]
+[Variation "Lopez gambit"]
+
+1. e4 e5 2. Bc4 Bc5 3. Qe2 Nc6 4. c3 Nf6 5. f4 *
+
+[ECO "C23"]
+[Opening "Bishop's opening"]
+[Variation "Philidor variation"]
+
+1. e4 e5 2. Bc4 Bc5 3. c3 *
+
+[ECO "C23"]
+[Opening "Bishop's opening"]
+[Variation "Pratt variation"]
+
+1. e4 e5 2. Bc4 Bc5 3. c3 Nf6 4. d4 exd4 5. e5 d5 6. exf6 dxc4 7. Qh5 O-O *
+
+[ECO "C23"]
+[Opening "Bishop's opening"]
+[Variation "Lewis counter-gambit"]
+
+1. e4 e5 2. Bc4 Bc5 3. c3 d5 *
+
+[ECO "C23"]
+[Opening "Bishop's opening"]
+[Variation "del Rio variation"]
+
+1. e4 e5 2. Bc4 Bc5 3. c3 Qg5 *
+
+[ECO "C23"]
+[Opening "Bishop's opening"]
+[Variation "Lewis gambit"]
+
+1. e4 e5 2. Bc4 Bc5 3. d4 *
+
+[ECO "C23"]
+[Opening "Bishop's opening"]
+[Variation "Wing gambit"]
+
+1. e4 e5 2. Bc4 Bc5 3. b4 *
+
+[ECO "C23"]
+[Opening "Bishop's opening"]
+[Variation "MacDonnell double gambit"]
+
+1. e4 e5 2. Bc4 Bc5 3. b4 Bxb4 4. f4 *
+
+[ECO "C23"]
+[Opening "Bishop's opening"]
+[Variation "Four pawns' gambit"]
+
+1. e4 e5 2. Bc4 Bc5 3. b4 Bxb4 4. f4 exf4 5. Nf3 Be7 6. d4 Bh4+ 7. g3 fxg3
+8. O-O gxh2+ 9. Kh1 *
+
+[ECO "C24"]
+[Opening "Bishop's opening"]
+[Variation "Berlin defence"]
+
+1. e4 e5 2. Bc4 Nf6 *
+
+[ECO "C24"]
+[Opening "Bishop's opening"]
+[Variation "Greco gambit"]
+
+1. e4 e5 2. Bc4 Nf6 3. f4 *
+
+[ECO "C24"]
+[Opening "Bishop's opening"]
+[Variation "Ponziani gambit"]
+
+1. e4 e5 2. Bc4 Nf6 3. d4 *
+
+[ECO "C24"]
+[Opening "Bishop's opening"]
+[Variation "Urusov gambit"]
+
+1. e4 e5 2. Bc4 Nf6 3. d4 exd4 4. Nf3 *
+
+[ECO "C24"]
+[Opening "Bishop's opening"]
+[Variation "Urusov gambit, Panov variation"]
+
+1. e4 e5 2. Bc4 Nf6 3. d4 exd4 4. Nf3 d5 5. exd5 Bb4+ 6. c3 Qe7+ *
+
+[ECO "C25"]
+[Opening "Vienna game"]
+
+1. e4 e5 2. Nc3 *
+
+[ECO "C25"]
+[Opening "Vienna"]
+[Variation "Zhuravlev countergambit"]
+
+1. e4 e5 2. Nc3 Bb4 3. Qg4 Nf6 *
+
+[ECO "C25"]
+[Opening "Vienna game, Max Lange defence"]
+
+1. e4 e5 2. Nc3 Nc6 *
+
+[ECO "C25"]
+[Opening "Vienna"]
+[Variation "Paulsen variation"]
+
+1. e4 e5 2. Nc3 Nc6 3. g3 *
+
+[ECO "C25"]
+[Opening "Vienna"]
+[Variation "Fyfe gambit"]
+
+1. e4 e5 2. Nc3 Nc6 3. d4 *
+
+[ECO "C25"]
+[Opening "Vienna gambit"]
+
+1. e4 e5 2. Nc3 Nc6 3. f4 *
+
+[ECO "C25"]
+[Opening "Vienna"]
+[Variation "Steinitz gambit"]
+
+1. e4 e5 2. Nc3 Nc6 3. f4 exf4 4. d4 *
+
+[ECO "C25"]
+[Opening "Vienna"]
+[Variation "Steinitz gambit, Zukertort defence"]
+
+1. e4 e5 2. Nc3 Nc6 3. f4 exf4 4. d4 Qh4+ 5. Ke2 d5 *
+
+[ECO "C25"]
+[Opening "Vienna"]
+[Variation "Steinitz gambit, Fraser-Minckwitz variation"]
+
+1. e4 e5 2. Nc3 Nc6 3. f4 exf4 4. d4 Qh4+ 5. Ke2 b6 *
+
+[ECO "C25"]
+[Opening "Vienna gambit"]
+
+1. e4 e5 2. Nc3 Nc6 3. f4 exf4 4. Nf3 *
+
+[ECO "C25"]
+[Opening "Vienna"]
+[Variation "Hamppe-Allgaier gambit"]
+
+1. e4 e5 2. Nc3 Nc6 3. f4 exf4 4. Nf3 g5 5. h4 g4 6. Ng5 *
+
+[ECO "C25"]
+[Opening "Vienna"]
+[Variation "Hamppe-Allgaier gambit, Alapin variation"]
+
+1. e4 e5 2. Nc3 Nc6 3. f4 exf4 4. Nf3 g5 5. h4 g4 6. Ng5 d6 *
+
+[ECO "C25"]
+[Opening "Vienna"]
+[Variation "Hamppe-Muzio gambit"]
+
+1. e4 e5 2. Nc3 Nc6 3. f4 exf4 4. Nf3 g5 5. Bc4 g4 6. O-O *
+
+[ECO "C25"]
+[Opening "Vienna"]
+[Variation "Hamppe-Muzio, Dubois variation"]
+
+1. e4 e5 2. Nc3 Nc6 3. f4 exf4 4. Nf3 g5 5. Bc4 g4 6. O-O gxf3 7. Qxf3 Ne5
+8. Qxf4 Qf6 *
+
+[ECO "C25"]
+[Opening "Vienna"]
+[Variation "Pierce gambit"]
+
+1. e4 e5 2. Nc3 Nc6 3. f4 exf4 4. Nf3 g5 5. d4 *
+
+[ECO "C25"]
+[Opening "Vienna"]
+[Variation "Pierce gambit, Rushmere attack"]
+
+1. e4 e5 2. Nc3 Nc6 3. f4 exf4 4. Nf3 g5 5. d4 g4 6. Bc4 gxf3 7. O-O d5 8.
+exd5 Bg4 9. dxc6 *
+
+[ECO "C26"]
+[Opening "Vienna"]
+[Variation "Falkbeer variation"]
+
+1. e4 e5 2. Nc3 Nf6 *
+
+[ECO "C26"]
+[Opening "Vienna"]
+[Variation "Mengarini variation"]
+
+1. e4 e5 2. Nc3 Nf6 3. a3 *
+
+[ECO "C26"]
+[Opening "Vienna"]
+[Variation "Paulsen-Mieses variation"]
+
+1. e4 e5 2. Nc3 Nf6 3. g3 *
+
+[ECO "C26"]
+[Opening "Vienna game"]
+
+1. e4 e5 2. Nc3 Nf6 3. Bc4 *
+
+[ECO "C27"]
+[Opening "Vienna game"]
+
+1. e4 e5 2. Nc3 Nf6 3. Bc4 Nxe4 *
+
+[ECO "C27"]
+[Opening "Vienna"]
+[Variation "`Frankenstein-Dracula' variation"]
+
+1. e4 e5 2. Nc3 Nf6 3. Bc4 Nxe4 4. Qh5 Nd6 5. Bb3 Nc6 6. Nb5 g6 7. Qf3 f5 
+8. Qd5 Qe7 9. Nxc7+ Kd8 10. Nxa8 b6 *
+
+[ECO "C27"]
+[Opening "Vienna"]
+[Variation "Adams' gambit"]
+
+1. e4 e5 2. Nc3 Nf6 3. Bc4 Nxe4 4. Qh5 Nd6 5. Bb3 Nc6 6. d4 *
+
+[ECO "C27"]
+[Opening "Vienna game"]
+
+1. e4 e5 2. Nc3 Nf6 3. Bc4 Nxe4 4. Qh5 Nd6 5. Bb3 Be7 *
+
+[ECO "C27"]
+[Opening "Vienna"]
+[Variation "Alekhine variation"]
+
+1. e4 e5 2. Nc3 Nf6 3. Bc4 Nxe4 4. Qh5 Nd6 5. Bb3 Be7 6. Nf3 Nc6 7. Nxe5 *
+
+[ECO "C27"]
+[Opening "Boden-Kieseritsky gambit"]
+
+1. e4 e5 2. Nc3 Nf6 3. Bc4 Nxe4 4. Nf3 *
+
+[ECO "C27"]
+[Opening "Boden-Kieseritsky gambit"]
+[Variation "Lichtenhein defence"]
+
+1. e4 e5 2. Nc3 Nf6 3. Bc4 Nxe4 4. Nf3 d5 *
+
+[ECO "C28"]
+[Opening "Vienna game"]
+
+1. e4 e5 2. Nc3 Nf6 3. Bc4 Nc6 *
+
+[ECO "C29"]
+[Opening "Vienna gambit"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 *
+
+[ECO "C29"]
+[Opening "Vienna gambit"]
+[Variation "Kaufmann variation"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 4. fxe5 Nxe4 5. Nf3 Bg4 6. Qe2 *
+
+[ECO "C29"]
+[Opening "Vienna gambit"]
+[Variation "Breyer variation"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 4. fxe5 Nxe4 5. Nf3 Be7 *
+
+[ECO "C29"]
+[Opening "Vienna gambit"]
+[Variation "Paulsen attack"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 4. fxe5 Nxe4 5. Qf3 *
+
+[ECO "C29"]
+[Opening "Vienna gambit"]
+[Variation "Bardeleben variation"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 4. fxe5 Nxe4 5. Qf3 f5 *
+
+[ECO "C29"]
+[Opening "Vienna gambit"]
+[Variation "Heyde variation"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 4. fxe5 Nxe4 5. Qf3 f5 6. d4 *
+
+[ECO "C29"]
+[Opening "Vienna gambit"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 4. fxe5 Nxe4 5. d3 *
+
+[ECO "C29"]
+[Opening "Vienna gambit, Wurzburger trap"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 4. fxe5 Nxe4 5. d3 Qh4+ 6. g3 Nxg3 7. Nf3 Qh5
+8. Nxd5 *
+
+[ECO "C29"]
+[Opening "Vienna gambit, Steinitz variation"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 4. d3 *
+
+[ECO "C30"]
+[Opening "King's gambit"]
+
+1. e4 e5 2. f4 *
+
+[ECO "C30"]
+[Opening "KGD"]
+[Variation "Keene's defence"]
+
+1. e4 e5 2. f4 Qh4+ 3. g3 Qe7 *
+
+[ECO "C30"]
+[Opening "KGD"]
+[Variation "Mafia defence"]
+
+1. e4 e5 2. f4 c5 *
+
+[ECO "C30"]
+[Opening "KGD"]
+[Variation "Norwalde variation"]
+
+1. e4 e5 2. f4 Qf6 *
+
+[ECO "C30"]
+[Opening "KGD"]
+[Variation "Norwalde variation, Buecker gambit"]
+
+1. e4 e5 2. f4 Qf6 3. Nf3 Qxf4 4. Nc3 Bb4 5. Bc4 *
+
+[ECO "C30"]
+[Opening "KGD"]
+[Variation "classical variation"]
+
+1. e4 e5 2. f4 Bc5 *
+
+[ECO "C30"]
+[Opening "KGD"]
+[Variation "classical, Svenonius variation"]
+
+1. e4 e5 2. f4 Bc5 3. Nf3 d6 4. Nc3 Nf6 5. Bc4 Nc6 6. d3 Bg4 7. h3 Bxf3 8.
+Qxf3 exf4 *
+
+[ECO "C30"]
+[Opening "KGD"]
+[Variation "classical, Hanham variation"]
+
+1. e4 e5 2. f4 Bc5 3. Nf3 d6 4. Nc3 Nd7 *
+
+[ECO "C30"]
+[Opening "KGD"]
+[Variation "classical, 4.c3"]
+
+1. e4 e5 2. f4 Bc5 3. Nf3 d6 4. c3 *
+
+[ECO "C30"]
+[Opening "KGD"]
+[Variation "classical, Marshall attack"]
+
+1. e4 e5 2. f4 Bc5 3. Nf3 d6 4. c3 Bg4 5. fxe5 dxe5 6. Qa4+ *
+
+[ECO "C30"]
+[Opening "KGD"]
+[Variation "classical counter-gambit"]
+
+1. e4 e5 2. f4 Bc5 3. Nf3 d6 4. c3 f5 *
+
+[ECO "C30"]
+[Opening "KGD"]
+[Variation "classical, Reti variation"]
+
+1. e4 e5 2. f4 Bc5 3. Nf3 d6 4. c3 f5 5. fxe5 dxe5 6. d4 exd4 7. Bc4 *
+
+[ECO "C30"]
+[Opening "KGD"]
+[Variation "classical, Soldatenkov variation"]
+
+1. e4 e5 2. f4 Bc5 3. Nf3 d6 4. fxe5 *
+
+[ECO "C30"]
+[Opening "KGD"]
+[Variation "classical, Heath variation"]
+
+1. e4 e5 2. f4 Bc5 3. Nf3 d6 4. b4 *
+
+[ECO "C30"]
+[Opening "KGD"]
+[Variation "2...Nf6"]
+
+1. e4 e5 2. f4 Nf6 *
+
+[ECO "C31"]
+[Opening "KGD"]
+[Variation "Falkbeer counter-gambit"]
+
+1. e4 e5 2. f4 d5 *
+
+[ECO "C31"]
+[Opening "KGD"]
+[Variation "Falkbeer, Tartakower variation"]
+
+1. e4 e5 2. f4 d5 3. Nf3 *
+
+[ECO "C31"]
+[Opening "KGD"]
+[Variation "Falkbeer, Milner-Barry variation"]
+
+1. e4 e5 2. f4 d5 3. Nc3 *
+
+[ECO "C31"]
+[Opening "KGD"]
+[Variation "Falkbeer counter-gambit"]
+
+1. e4 e5 2. f4 d5 3. exd5 *
+
+[ECO "C31"]
+[Opening "KGD"]
+[Variation "Nimzovich counter-gambit"]
+
+1. e4 e5 2. f4 d5 3. exd5 c6 *
+
+[ECO "C31"]
+[Opening "KGD"]
+[Variation "Falkbeer, 3...e4"]
+
+1. e4 e5 2. f4 d5 3. exd5 e4 *
+
+[ECO "C31"]
+[Opening "KGD"]
+[Variation "Falkbeer, Rubinstein variation"]
+
+1. e4 e5 2. f4 d5 3. exd5 e4 4. Nc3 Nf6 5. Qe2 *
+
+[ECO "C31"]
+[Opening "KGD"]
+[Variation "Falkbeer, Nimzovich variation"]
+
+1. e4 e5 2. f4 d5 3. exd5 e4 4. Bb5+ *
+
+[ECO "C31"]
+[Opening "KGD"]
+[Variation "Falkbeer, 4.d3"]
+
+1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 *
+
+[ECO "C31"]
+[Opening "KGD"]
+[Variation "Falkbeer, Morphy gambit"]
+
+1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. Nc3 Bb4 6. Bd2 e3 *
+
+[ECO "C32"]
+[Opening "KGD"]
+[Variation "Falkbeer, 5.de"]
+
+1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. dxe4 *
+
+[ECO "C32"]
+[Opening "KGD"]
+[Variation "Falkbeer, Alapin variation"]
+
+1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. dxe4 Nxe4 6. Nf3 Bc5 7. Qe2 Bf2+
+8. Kd1 Qxd5+ 9. Nfd2 *
+
+[ECO "C32"]
+[Opening "KGD"]
+[Variation "Falkbeer, main line, 7...Bf5"]
+
+1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. dxe4 Nxe4 6. Nf3 Bc5 7. Qe2 Bf5 *
+
+[ECO "C32"]
+[Opening "KGD"]
+[Variation "Falkbeer, Tarrasch variation"]
+
+1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. dxe4 Nxe4 6. Nf3 Bc5 7. Qe2 Bf5 
+8. g4 O-O *
+
+[ECO "C32"]
+[Opening "KGD"]
+[Variation "Falkbeer, Charousek gambit"]
+
+1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. dxe4 Nxe4 6. Qe2 *
+
+[ECO "C32"]
+[Opening "KGD"]
+[Variation "Falkbeer, Charousek variation"]
+
+1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. dxe4 Nxe4 6. Qe2 Qxd5 7. Nd2 f5 
+8. g4 *
+
+[ECO "C32"]
+[Opening "KGD"]
+[Variation "Falkbeer, Keres variation"]
+
+1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. Nd2 *
+
+[ECO "C32"]
+[Opening "KGD"]
+[Variation "Falkbeer, Reti variation"]
+
+1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. Qe2 *
+
+[ECO "C33"]
+[Opening "King's gambit accepted"]
+
+1. e4 e5 2. f4 exf4 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "Tumbleweed gambit"]
+
+1. e4 e5 2. f4 exf4 3. Kf2 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "Orsini gambit"]
+
+1. e4 e5 2. f4 exf4 3. b3 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "Pawn's gambit (Stamma gambit)"]
+
+1. e4 e5 2. f4 exf4 3. h4 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "Schurig gambit"]
+
+1. e4 e5 2. f4 exf4 3. Bd3 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "Carrera (Basman) gambit"]
+
+1. e4 e5 2. f4 exf4 3. Qe2 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "Villemson (Steinitz) gambit"]
+
+1. e4 e5 2. f4 exf4 3. d4 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "Keres (Mason-Steinitz) gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nc3 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "Breyer gambit"]
+
+1. e4 e5 2. f4 exf4 3. Qf3 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "Lesser bishop's (Petroff-Jaenisch-Tartakower) gambit"]
+
+1. e4 e5 2. f4 exf4 3. Be2 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Chigorin's attack"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 d5 5. Bxd5 g5 6. g3 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Greco variation"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 Bc5 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, classical defence"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 g5 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Grimm attack"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 g5 5. Nc3 Bg7 6. d4 d6 7. e5 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, classical defence"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 g5 5. Nc3 Bg7 6. d4 Ne7 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, McDonnell attack"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 g5 5. Nc3 Bg7 6. d4 Ne7 7. g3 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, McDonnell attack"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 g5 5. Nc3 Bg7 6. g3 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Fraser variation"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 g5 5. Nc3 Bg7 6. g3 fxg3 7. Qf3 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, classical defence, Cozio attack"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 g5 5. Qf3 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Boden defence"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 Nc6 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Bryan counter-gambit"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 b5 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Bryan counter-gambit"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 b5 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Steinitz defence"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Ne7 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Maurian defence"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Nc6 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Ruy Lopez defence"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 c6 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Lopez-Gianutio counter-gambit"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 f5 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "Lopez-Gianutio counter-gambit, Hein variation"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 f5 4. Qe2 Qh4+ 5. Kd1 fxe4 6. Nc3 Kd8 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Bledow variation"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 d5 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Gifford variation"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 d5 4. Bxd5 Qh4+ 5. Kf1 g5 6. g3 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Boren-Svenonius variation"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 d5 4. Bxd5 Qh4+ 5. Kf1 Bd6 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Anderssen variation"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 d5 4. Bxd5 c6 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Morphy variation"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 d5 4. Bxd5 Nf6 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Cozio (Morphy) defence"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Nf6 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Bogolyubov variation"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Nf6 4. Nc3 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Paulsen attack"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Nf6 4. Nc3 Bb4 5. e5 *
+
+[ECO "C33"]
+[Opening "KGA"]
+[Variation "bishop's gambit, Jaenisch variation"]
+
+1. e4 e5 2. f4 exf4 3. Bc4 Nf6 4. Nc3 c6 *
+
+[ECO "C34"]
+[Opening "King's knight's gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 *
+
+[ECO "C34"]
+[Opening "KGA"]
+[Variation "Bonsch-Osmolovsky variation"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 Ne7 *
+
+[ECO "C34"]
+[Opening "KGA"]
+[Variation "Gianutio counter-gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 f5 *
+
+[ECO "C34"]
+[Opening "KGA"]
+[Variation "Fischer defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 d6 *
+
+[ECO "C34"]
+[Opening "KGA"]
+[Variation "Becker defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 h6 *
+
+[ECO "C34"]
+[Opening "KGA"]
+[Variation "Schallop defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 Nf6 *
+
+[ECO "C35"]
+[Opening "KGA"]
+[Variation "Cunningham defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 Be7 *
+
+[ECO "C35"]
+[Opening "KGA"]
+[Variation "Cunningham, Bertin gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 Be7 4. Bc4 Bh4+ 5. g3 *
+
+[ECO "C35"]
+[Opening "KGA"]
+[Variation "Cunningham, three pawns gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 Be7 4. Bc4 Bh4+ 5. g3 fxg3 6. O-O gxh2+ 7. Kh1 *
+
+[ECO "C35"]
+[Opening "KGA"]
+[Variation "Cunningham, Euwe defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 Be7 4. Bc4 Nf6 *
+
+[ECO "C36"]
+[Opening "KGA"]
+[Variation "Abbazia defence (classical defence, modern defence[!])"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 d5 *
+
+[ECO "C36"]
+[Opening "KGA"]
+[Variation "Abbazia defence, modern variation"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 d5 4. exd5 Nf6 *
+
+[ECO "C36"]
+[Opening "KGA"]
+[Variation "Abbazia defence, Botvinnik variation"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 d5 4. exd5 Nf6 5. Bb5+ c6 6. dxc6 bxc6 7. Bc4 
+Nd5 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Quaade gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Nc3 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Rosentreter gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. d4 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Soerensen gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. d4 g4 5. Ne5 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "King's knight's gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Blachly gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 Nc6 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Lolli gambit (wild Muzio gambit)"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Bxf7+ *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Lolli gambit, Young variation"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Bxf7+ Kxf7 6. O-O gxf3 7. Qxf3 
+Qf6 8. d4 Qxd4+ 9. Be3 Qf6 10. Nc3 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Ghulam Kassim gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. d4 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "MacDonnell gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Nc3 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Salvio gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Ne5 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Silberschmidt gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Ne5 Qh4+ 6. Kf1 Nh6 7. d4 f3 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Salvio gambit, Anderssen counter-attack"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Ne5 Qh4+ 6. Kf1 Nh6 7. d4 d6 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Cochrane gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Ne5 Qh4+ 6. Kf1 f3 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Herzfeld gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Ne5 Qh4+ 6. Kf1 Nc6 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Muzio gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. O-O *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Muzio gambit, Paulsen variation"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. O-O gxf3 6. Qxf3 Qf6 7. e5 Qxe5
+8. d3 Bh6 9. Nc3 Ne7 10. Bd2 Nbc6 11. Rae1 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "double Muzio gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. O-O gxf3 6. Qxf3 Qf6 7. e5 Qxe5
+8. Bxf7+ *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Muzio gambit, From defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. O-O gxf3 6. Qxf3 Qe7 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Muzio gambit, Holloway defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. O-O gxf3 6. Qxf3 Nc6 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Muzio gambit, Kling and Horwitz counter-attack"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. O-O Qe7 *
+
+[ECO "C37"]
+[Opening "KGA"]
+[Variation "Muzio gambit, Brentano defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. O-O d5 *
+
+[ECO "C38"]
+[Opening "King's knight's gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 Bg7 *
+
+[ECO "C38"]
+[Opening "KGA"]
+[Variation "Hanstein gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 Bg7 5. O-O *
+
+[ECO "C38"]
+[Opening "KGA"]
+[Variation "Philidor gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 Bg7 5. h4 *
+
+[ECO "C38"]
+[Opening "KGA"]
+[Variation "Greco gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 Bg7 5. h4 h6 6. d4 d6 7. Nc3 c6 8. 
+hxg5 hxg5 9. Rxh8 Bxh8 10. Ne5 *
+
+[ECO "C38"]
+[Opening "KGA"]
+[Variation "Philidor gambit, Schultz variation"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 Bg7 5. h4 h6 6. d4 d6 7. Qd3 *
+
+[ECO "C39"]
+[Opening "King's knight's gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Allgaier gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ng5 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Allgaier, Horny defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ng5 h6 6. Nxf7 Kxf7 7. Qxg4 Nf6 
+8. Qxf4 Bd6 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Allgaier, Thorold variation"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ng5 h6 6. Nxf7 Kxf7 7. d4 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Allgaier, Cook variation"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ng5 h6 6. Nxf7 Kxf7 7. d4 d5 8. 
+Bxf4 dxe4 9. Bc4+ Kg7 10. Be5+ *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Allgaier, Blackburne gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ng5 h6 6. Nxf7 Kxf7 7. Nc3 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Allgaier, Walker attack"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ng5 h6 6. Nxf7 Kxf7 7. Bc4+ *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Allgaier, Urusov attack"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ng5 h6 6. Nxf7 Kxf7 7. Bc4+ d5 8.
+Bxd5+ Kg7 9. d4 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Allgaier, Schlechter defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ng5 Nf6 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Kieseritsky, Paulsen defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Bg7 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Kieseritsky, long whip (Stockwhip, classical) defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 h5 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Kieseritsky, long whip defence, Jaenisch variation"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 h5 6. Bc4 Rh7 7. d4 Bh6 8. 
+Nc3 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Kieseritsky, Brentano (Campbell) defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 d5 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Kieseritsky, Brentano defence, Kaplanek variation"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 d5 6. d4 Nf6 7. exd5 Qxd5 8.
+Nc3 Bb4 9. Kf2 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Kieseritsky, Brentano defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 d5 6. d4 Nf6 7. Bxf4 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Kieseritsky, Brentano defence, Caro variation"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 d5 6. d4 Nf6 7. Bxf4 Nxe4 8.
+Nd2 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Kieseritsky, Salvio (Rosenthal) defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Qe7 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Kieseritsky, Salvio defence, Cozio variation"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Qe7 6. d4 f5 7. Bc4 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Kieseritsky, Polerio defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Be7 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Kieseritsky, Neumann defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Nc6 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Kieseritsky, Kolisch defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 d6 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Kieseritsky, Berlin defence"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Nf6 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Kieseritsky, Berlin defence, Riviere variation"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Nf6 6. Nxg4 d5 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Kieseritsky, Berlin defence, 6.Bc4"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Nf6 6. Bc4 *
+
+[ECO "C39"]
+[Opening "KGA"]
+[Variation "Kieseritsky, Rice gambit"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Nf6 6. Bc4 d5 7. exd5 Bd6 8.
+O-O *
+
+[ECO "C40"]
+[Opening "King's knight opening"]
+
+1. e4 e5 2. Nf3 *
+
+[ECO "C40"]
+[Opening "Gunderam defence"]
+
+1. e4 e5 2. Nf3 Qe7 *
+
+[ECO "C40"]
+[Opening "Greco defence"]
+
+1. e4 e5 2. Nf3 Qf6 *
+
+[ECO "C40"]
+[Opening "Damiano's defence"]
+
+1. e4 e5 2. Nf3 f6 *
+
+[ECO "C40"]
+[Opening "QP counter-gambit (elephant gambit)"]
+
+1. e4 e5 2. Nf3 d5 *
+
+[ECO "C40"]
+[Opening "QP counter-gambit"]
+[Variation "Maroczy gambit"]
+
+1. e4 e5 2. Nf3 d5 3. exd5 Bd6 *
+
+[ECO "C40"]
+[Opening "Latvian counter-gambit"]
+
+1. e4 e5 2. Nf3 f5 *
+
+[ECO "C40"]
+[Opening "Latvian"]
+[Variation "Nimzovich variation"]
+
+1. e4 e5 2. Nf3 f5 3. Nxe5 Qf6 4. d4 d6 5. Nc4 fxe4 6. Ne3 *
+
+[ECO "C40"]
+[Opening "Latvian"]
+[Variation "Fraser defence"]
+
+1. e4 e5 2. Nf3 f5 3. Nxe5 Nc6 *
+
+[ECO "C40"]
+[Opening "Latvian gambit, 3.Bc4"]
+
+1. e4 e5 2. Nf3 f5 3. Bc4 *
+
+[ECO "C40"]
+[Opening "Latvian"]
+[Variation "Behting variation"]
+
+1. e4 e5 2. Nf3 f5 3. Bc4 fxe4 4. Nxe5 Qg5 5. Nf7 Qxg2 6. Rf1 d5 7. Nxh8 
+Nf6 *
+
+[ECO "C40"]
+[Opening "Latvian"]
+[Variation "Polerio variation"]
+
+1. e4 e5 2. Nf3 f5 3. Bc4 fxe4 4. Nxe5 d5 *
+
+[ECO "C40"]
+[Opening "Latvian"]
+[Variation "corkscrew counter-gambit"]
+
+1. e4 e5 2. Nf3 f5 3. Bc4 fxe4 4. Nxe5 Nf6 *
+
+[ECO "C41"]
+[Opening "Philidor's defence"]
+
+1. e4 e5 2. Nf3 d6 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Steinitz variation"]
+
+1. e4 e5 2. Nf3 d6 3. Bc4 Be7 4. c3 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Lopez counter-gambit"]
+
+1. e4 e5 2. Nf3 d6 3. Bc4 f5 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Lopez counter-gambit, Jaenisch variation"]
+
+1. e4 e5 2. Nf3 d6 3. Bc4 f5 4. d4 exd4 5. Ng5 Nh6 6. Nxh7 *
+
+[ECO "C41"]
+[Opening "Philidor's defence"]
+
+1. e4 e5 2. Nf3 d6 3. d4 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Philidor counter-gambit"]
+
+1. e4 e5 2. Nf3 d6 3. d4 f5 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Philidor counter-gambit, del Rio attack"]
+
+1. e4 e5 2. Nf3 d6 3. d4 f5 4. dxe5 fxe4 5. Ng5 d5 6. e6 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Philidor counter-gambit, Berger variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 f5 4. dxe5 fxe4 5. Ng5 d5 6. e6 Bc5 7. Nc3 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Philidor counter-gambit, Zukertort variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 f5 4. Nc3 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "exchange variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 exd4 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Boden variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 exd4 4. Qxd4 Bd7 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "exchange variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 exd4 4. Nxd4 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Paulsen attack"]
+
+1. e4 e5 2. Nf3 d6 3. d4 exd4 4. Nxd4 d5 5. exd5 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "exchange variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 exd4 4. Nxd4 Nf6 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Berger variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 exd4 4. Nxd4 Nf6 5. Nc3 Be7 6. Be2 O-O 7. O-O c5 
+8. Nf3 Nc6 9. Bg5 Be6 10. Re1 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Larsen variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 exd4 4. Nxd4 g6 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Nimzovich (Jaenisch) variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 Nf6 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Improved Hanham variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 Nf6 4. Nc3 Nbd7 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Nimzovich, Sozin variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 Nf6 4. Nc3 Nbd7 5. Bc4 Be7 6. O-O O-O 7. Qe2 c6 8.
+a4 exd4 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Nimzovich, Larobok variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 Nf6 4. Nc3 Nbd7 5. Bc4 Be7 6. Ng5 O-O 7. Bxf7+ *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Nimzovich variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 Nf6 4. dxe5 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Nimzovich, Sokolsky variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 Nf6 4. dxe5 Nxe4 5. Nbd2 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Nimzovich, Rellstab variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 Nf6 4. dxe5 Nxe4 5. Qd5 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Nimzovich, Locock variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 Nf6 4. Ng5 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Nimzovich, Klein variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 Nf6 4. Bc4 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Hanham variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 Nd7 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Hanham, Krause variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 Nd7 4. Bc4 c6 5. O-O *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Hanham, Steiner variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 Nd7 4. Bc4 c6 5. O-O Be7 6. dxe5 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Hanham, Kmoch variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 Nd7 4. Bc4 c6 5. Ng5 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Hanham, Berger variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 Nd7 4. Bc4 c6 5. Ng5 Nh6 6. f4 Be7 7. O-O O-O 8. 
+c3 d5 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Hanham, Schlechter variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 Nd7 4. Bc4 c6 5. Nc3 *
+
+[ECO "C41"]
+[Opening "Philidor"]
+[Variation "Hanham, Delmar variation"]
+
+1. e4 e5 2. Nf3 d6 3. d4 Nd7 4. Bc4 c6 5. c3 *
+
+[ECO "C42"]
+[Opening "Petrov's defence"]
+
+1. e4 e5 2. Nf3 Nf6 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "French attack"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nf3 Nxe4 5. d3 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "Kaufmann attack"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nf3 Nxe4 5. c4 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "Nimzovich attack"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nf3 Nxe4 5. Nc3 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "Cozio (Lasker) attack"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nf3 Nxe4 5. Qe2 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "classical attack"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nf3 Nxe4 5. d4 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "classical attack, Chigorin variation"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nf3 Nxe4 5. d4 d5 6. Bd3 Be7 7. O-O Nc6 
+8. Re1 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "classical attack, Berger variation"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nf3 Nxe4 5. d4 d5 6. Bd3 Be7 7. O-O Nc6 
+8. Re1 Bg4 9. c3 f5 10. Nbd2 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "classical attack, Krause variation"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nf3 Nxe4 5. d4 d5 6. Bd3 Be7 7. O-O Nc6 
+8. Re1 Bg4 9. c3 f5 10. c4 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "classical attack, Maroczy variation"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nf3 Nxe4 5. d4 d5 6. Bd3 Be7 7. O-O Nc6 
+8. Re1 Bg4 9. c3 f5 10. c4 Bh4 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "classical attack, Jaenisch variation"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nf3 Nxe4 5. d4 d5 6. Bd3 Be7 7. O-O Nc6 
+8. c4 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "classical attack, Mason variation"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nf3 Nxe4 5. d4 d5 6. Bd3 Be7 7. O-O O-O *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "classical attack, Marshall variation"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nf3 Nxe4 5. d4 d5 6. Bd3 Bd6 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "classical attack, Tarrasch variation"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nf3 Nxe4 5. d4 d5 6. Bd3 Bd6 7. O-O O-O 
+8. c4 Bg4 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "classical attack, Marshall trap"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nf3 Nxe4 5. d4 d5 6. Bd3 Bd6 7. O-O O-O 
+8. c4 Bg4 9. cxd5 f5 10. Re1 Bxh2+ *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "classical attack, close variation"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nf3 Nxe4 5. d4 Nf6 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "Cochrane gambit"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nxf7 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "Paulsen attack"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 d6 4. Nc4 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "Damiano variation"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nxe5 Nxe4 *
+
+[ECO "C42"]
+[Opening "Petrov three knights game"]
+
+1. e4 e5 2. Nf3 Nf6 3. Nc3 *
+
+[ECO "C42"]
+[Opening "Petrov"]
+[Variation "Italian variation"]
+
+1. e4 e5 2. Nf3 Nf6 3. Bc4 *
+
+[ECO "C43"]
+[Opening "Petrov"]
+[Variation "modern (Steinitz) attack"]
+
+1. e4 e5 2. Nf3 Nf6 3. d4 *
+
+[ECO "C43"]
+[Opening "Petrov"]
+[Variation "modern attack, main line"]
+
+1. e4 e5 2. Nf3 Nf6 3. d4 exd4 4. e5 Ne4 5. Qxd4 *
+
+[ECO "C43"]
+[Opening "Petrov"]
+[Variation "modern attack, Steinitz variation"]
+
+1. e4 e5 2. Nf3 Nf6 3. d4 exd4 4. e5 Ne4 5. Qe2 *
+
+[ECO "C43"]
+[Opening "Petrov"]
+[Variation "modern attack, Bardeleben variation"]
+
+1. e4 e5 2. Nf3 Nf6 3. d4 exd4 4. e5 Ne4 5. Qe2 Nc5 6. Nxd4 Nc6 *
+
+[ECO "C43"]
+[Opening "Petrov"]
+[Variation "Urusov gambit"]
+
+1. e4 e5 2. Nf3 Nf6 3. d4 exd4 4. Bc4 *
+
+[ECO "C43"]
+[Opening "Petrov"]
+[Variation "modern attack, Symmetrical variation"]
+
+1. e4 e5 2. Nf3 Nf6 3. d4 Nxe4 *
+
+[ECO "C43"]
+[Opening "Petrov"]
+[Variation "modern attack, Trifunovic variation"]
+
+1. e4 e5 2. Nf3 Nf6 3. d4 Nxe4 4. Bd3 d5 5. Nxe5 Bd6 6. O-O O-O 7. c4 Bxe5
+*
+
+[ECO "C44"]
+[Opening "King's pawn game"]
+
+1. e4 e5 2. Nf3 Nc6 *
+
+[ECO "C44"]
+[Opening "Irish (Chicago) gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nxe5 Nxe5 4. d4 *
+
+[ECO "C44"]
+[Opening "Konstantinopolsky opening"]
+
+1. e4 e5 2. Nf3 Nc6 3. g3 *
+
+[ECO "C44"]
+[Opening "Dresden opening"]
+
+1. e4 e5 2. Nf3 Nc6 3. c4 *
+
+[ECO "C44"]
+[Opening "Inverted Hungarian"]
+
+1. e4 e5 2. Nf3 Nc6 3. Be2 *
+
+[ECO "C44"]
+[Opening "Inverted Hanham"]
+
+1. e4 e5 2. Nf3 Nc6 3. Be2 Nf6 4. d3 d5 5. Nbd2 *
+
+[ECO "C44"]
+[Opening "Tayler opening"]
+
+1. e4 e5 2. Nf3 Nc6 3. Be2 Nf6 4. d4 *
+
+[ECO "C44"]
+[Opening "Ponziani opening"]
+
+1. e4 e5 2. Nf3 Nc6 3. c3 *
+
+[ECO "C44"]
+[Opening "Ponziani"]
+[Variation "Caro variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. c3 d5 4. Qa4 Bd7 *
+
+[ECO "C44"]
+[Opening "Ponziani"]
+[Variation "Leonhardt variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. c3 d5 4. Qa4 Nf6 *
+
+[ECO "C44"]
+[Opening "Ponziani"]
+[Variation "Steinitz variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. c3 d5 4. Qa4 f6 *
+
+[ECO "C44"]
+[Opening "Ponziani"]
+[Variation "Jaenisch counter-attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. c3 Nf6 *
+
+[ECO "C44"]
+[Opening "Ponziani"]
+[Variation "Fraser defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. c3 Nf6 4. d4 Nxe4 5. d5 Bc5 *
+
+[ECO "C44"]
+[Opening "Ponziani"]
+[Variation "Reti variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. c3 Nge7 *
+
+[ECO "C44"]
+[Opening "Ponziani"]
+[Variation "Romanishin variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. c3 Be7 *
+
+[ECO "C44"]
+[Opening "Ponziani counter-gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. c3 f5 *
+
+[ECO "C44"]
+[Opening "Ponziani counter-gambit, Schmidt attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. c3 f5 4. d4 d6 5. d5 *
+
+[ECO "C44"]
+[Opening "Ponziani counter-gambit, Cordel variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. c3 f5 4. d4 d6 5. d5 fxe4 6. Ng5 Nb8 7. Nxe4 Nf6 8.
+Bd3 Be7 *
+
+[ECO "C44"]
+[Opening "Scotch opening"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 *
+
+[ECO "C44"]
+[Opening "Scotch"]
+[Variation "Lolli variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 Nxd4 *
+
+[ECO "C44"]
+[Opening "Scotch"]
+[Variation "Cochrane variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 Nxd4 4. Nxe5 Ne6 5. Bc4 c6 6. O-O Nf6 7. Nxf7 *
+
+[ECO "C44"]
+[Opening "Scotch"]
+[Variation "Relfsson gambit ('MacLopez')"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Bb5 *
+
+[ECO "C44"]
+[Opening "Scotch"]
+[Variation "Goering gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. c3 *
+
+[ECO "C44"]
+[Opening "Scotch"]
+[Variation "Sea-cadet mate"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. c3 dxc3 5. Nxc3 d6 6. Bc4 Bg4 7. O-O Ne5
+8. Nxe5 Bxd1 9. Bxf7+ Ke7 10. Nd5# *
+
+[ECO "C44"]
+[Opening "Scotch"]
+[Variation "Goering gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. c3 dxc3 5. Nxc3 Bb4 *
+
+[ECO "C44"]
+[Opening "Scotch"]
+[Variation "Goering gambit, Bardeleben variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. c3 dxc3 5. Nxc3 Bb4 6. Bc4 Nf6 *
+
+[ECO "C44"]
+[Opening "Scotch gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Bc4 *
+
+[ECO "C44"]
+[Opening "Scotch gambit"]
+[Variation "Anderssen (Paulsen, Suhle) counter-attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Bc4 Bc5 5. O-O d6 6. c3 Bg4 *
+
+[ECO "C44"]
+[Opening "Scotch gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Bc4 Bc5 5. Ng5 *
+
+[ECO "C44"]
+[Opening "Scotch gambit"]
+[Variation "Cochrane-Shumov defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Bc4 Bc5 5. Ng5 Nh6 6. Nxf7 Nxf7 7. Bxf7+
+Kxf7 8. Qh5+ g6 9. Qxc5 d5 *
+
+[ECO "C44"]
+[Opening "Scotch gambit"]
+[Variation "Vitzhum attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Bc4 Bc5 5. Ng5 Nh6 6. Qh5 *
+
+[ECO "C44"]
+[Opening "Scotch gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Bc4 Bb4+ *
+
+[ECO "C44"]
+[Opening "Scotch gambit"]
+[Variation "Hanneken variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Bc4 Bb4+ 5. c3 dxc3 6. O-O cxb2 7. Bxb2 
+Nf6 8. Ng5 O-O 9. e5 Nxe5 *
+
+[ECO "C44"]
+[Opening "Scotch gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Bc4 Bb4+ 5. c3 dxc3 6. bxc3 *
+
+[ECO "C44"]
+[Opening "Scotch gambit"]
+[Variation "Cochrane variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Bc4 Bb4+ 5. c3 dxc3 6. bxc3 Ba5 7. e5 *
+
+[ECO "C44"]
+[Opening "Scotch gambit"]
+[Variation "Benima defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Bc4 Be7 *
+
+[ECO "C44"]
+[Opening "Scotch gambit"]
+[Variation "Dubois-Reti defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Bc4 Nf6 *
+
+[ECO "C45"]
+[Opening "Scotch game"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Ghulam Kassim variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Nxd4 5. Qxd4 d6 6. Bd3 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Pulling counter-attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Qh4 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Horwitz attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Qh4 5. Nb5 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Berger variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Qh4 5. Nb5 Bb4+ 6. Nd2 Qxe4+ 7. Be2
+Qxg2 8. Bf3 Qh3 9. Nxc7+ Kd8 10. Nxa8 Nf6 11. a3 *
+
+[ECO "C45"]
+[Opening "Scotch game"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Qh4 5. Nb5 Bb4+ 6. Bd2 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Rosenthal variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Qh4 5. Nb5 Bb4+ 6. Bd2 Qxe4+ 7. Be2
+Kd8 8. O-O Bxd2 9. Nxd2 Qg6 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Fraser attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Qh4 5. Nf3 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Steinitz variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Qh4 5. Nc3 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Schmidt variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Nf6 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Mieses variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Nf6 5. Nxc6 bxc6 6. e5 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Tartakower variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Nf6 5. Nxc6 bxc6 6. Nd2 *
+
+[ECO "C45"]
+[Opening "Scotch game"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Bc5 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Blackburne attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Bc5 5. Be3 Qf6 6. c3 Nge7 7. Qd2 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Gottschall variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Bc5 5. Be3 Qf6 6. c3 Nge7 7. Qd2 d5
+8. Nb5 Bxe3 9. Qxe3 O-O 10. Nxc7 Rb8 11. Nxd5 Nxd5 12. exd5 Nb4 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Paulsen attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Bc5 5. Be3 Qf6 6. c3 Nge7 7. Bb5 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Paulsen, Gunsberg defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Bc5 5. Be3 Qf6 6. c3 Nge7 7. Bb5 Nd8
+*
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Meitner variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Bc5 5. Be3 Qf6 6. c3 Nge7 7. Nc2 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Blumenfeld attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Bc5 5. Be3 Qf6 6. Nb5 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Potter variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Bc5 5. Nb3 *
+
+[ECO "C45"]
+[Opening "Scotch"]
+[Variation "Romanishin variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Bc5 5. Nb3 Bb4+ *
+
+[ECO "C46"]
+[Opening "Three knights game"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 *
+
+[ECO "C46"]
+[Opening "Three knights"]
+[Variation "Schlechter variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Bb4 4. Nd5 Nf6 *
+
+[ECO "C46"]
+[Opening "Three knights"]
+[Variation "Winawer defence (Gothic defence)"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 f5 *
+
+[ECO "C46"]
+[Opening "Three knights"]
+[Variation "Steinitz variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 g6 *
+
+[ECO "C46"]
+[Opening "Three knights"]
+[Variation "Steinitz, Rosenthal variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 g6 4. d4 exd4 5. Nd5 *
+
+[ECO "C46"]
+[Opening "Four knights game"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 *
+
+[ECO "C46"]
+[Opening "Four knights"]
+[Variation "Schultze-Mueller gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Nxe5 *
+
+[ECO "C46"]
+[Opening "Four knights"]
+[Variation "Italian variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bc4 *
+
+[ECO "C46"]
+[Opening "Four knights"]
+[Variation "Gunsberg variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. a3 *
+
+[ECO "C47"]
+[Opening "Four knights"]
+[Variation "Scotch variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. d4 *
+
+[ECO "C47"]
+[Opening "Four knights"]
+[Variation "Scotch, Krause variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. d4 Bb4 5. Nxe5 *
+
+[ECO "C47"]
+[Opening "Four knights"]
+[Variation "Scotch, 4...exd4"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. d4 exd4 *
+
+[ECO "C47"]
+[Opening "Four knights"]
+[Variation "Belgrade gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. d4 exd4 5. Nd5 *
+
+[ECO "C48"]
+[Opening "Four knights"]
+[Variation "Spanish variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 *
+
+[ECO "C48"]
+[Opening "Four knights"]
+[Variation "Ranken variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 a6 5. Bxc6 *
+
+[ECO "C48"]
+[Opening "Four knights"]
+[Variation "Spielmann variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 a6 5. Bxc6 dxc6 6. Nxe5 Nxe4 7. Nxe4
+Qd4 8. O-O Qxe5 9. Re1 Be6 10. d4 Qd5 *
+
+[ECO "C48"]
+[Opening "Four knights"]
+[Variation "Spanish, classical defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bc5 *
+
+[ECO "C48"]
+[Opening "Four knights"]
+[Variation "Bardeleben variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bc5 5. O-O O-O 6. Nxe5 Nxe5 7. d4 Bd6
+8. f4 Nc6 9. e5 Bb4 *
+
+[ECO "C48"]
+[Opening "Four knights"]
+[Variation "Marshall variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bc5 5. O-O O-O 6. Nxe5 Nd4 *
+
+[ECO "C48"]
+[Opening "Four knights"]
+[Variation "Rubinstein counter-gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Nd4 *
+
+[ECO "C48"]
+[Opening "Four knights"]
+[Variation "Rubinstein counter-gambit, Bogolyubov variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Nd4 5. Nxe5 Qe7 6. f4 *
+
+[ECO "C48"]
+[Opening "Four knights"]
+[Variation "Rubinstein counter-gambit, 5.Be2"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Nd4 5. Be2 *
+
+[ECO "C48"]
+[Opening "Four knights"]
+[Variation "Rubinstein counter-gambit Maroczy variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Nd4 5. Be2 Nxf3+ 6. Bxf3 Bc5 7. O-O 
+O-O 8. d3 d6 9. Na4 Bb6 *
+
+[ECO "C48"]
+[Opening "Four knights"]
+[Variation "Rubinstein counter-gambit, exchange variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Nd4 5. Nxd4 *
+
+[ECO "C48"]
+[Opening "Four knights"]
+[Variation "Rubinstein counter-gambit, Henneberger variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Nd4 5. O-O *
+
+[ECO "C49"]
+[Opening "Four knights"]
+[Variation "double Ruy Lopez"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bb4 *
+
+[ECO "C49"]
+[Opening "Four knights"]
+[Variation "Gunsberg counter-attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bb4 5. O-O O-O 6. Nd5 Nxd5 7. exd5 e4
+*
+
+[ECO "C49"]
+[Opening "Four knights"]
+[Variation "double Ruy Lopez"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bb4 5. O-O O-O 6. d3 *
+
+[ECO "C49"]
+[Opening "Four knights"]
+[Variation "Alatortsev variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bb4 5. O-O O-O 6. d3 Qe7 7. Ne2 d5 *
+
+[ECO "C49"]
+[Opening "Four knights"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bb4 5. O-O O-O 6. d3 Bxc3 *
+
+[ECO "C49"]
+[Opening "Four knights"]
+[Variation "Janowski variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bb4 5. O-O O-O 6. d3 Bxc3 7. bxc3 d6
+8. Re1 *
+
+[ECO "C49"]
+[Opening "Four knights"]
+[Variation "Svenonius variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bb4 5. O-O O-O 6. d3 Bxc3 7. bxc3 d5
+*
+
+[ECO "C49"]
+[Opening "Four knights"]
+[Variation "symmetrical variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bb4 5. O-O O-O 6. d3 d6 *
+
+[ECO "C49"]
+[Opening "Four knights"]
+[Variation "symmetrical, Metger unpin"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bb4 5. O-O O-O 6. d3 d6 7. Bg5 Bxc3 
+8. bxc3 Qe7 *
+
+[ECO "C49"]
+[Opening "Four knights"]
+[Variation "symmetrical, Capablanca variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bb4 5. O-O O-O 6. d3 d6 7. Bg5 Bxc3 
+8. bxc3 Qe7 9. Re1 Nd8 10. d4 Bg4 *
+
+[ECO "C49"]
+[Opening "Four knights"]
+[Variation "symmetrical, Pillsbury variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bb4 5. O-O O-O 6. d3 d6 7. Bg5 Ne7 *
+
+[ECO "C49"]
+[Opening "Four knights"]
+[Variation "symmetrical, Blake variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bb4 5. O-O O-O 6. d3 d6 7. Bg5 Ne7 8.
+Nh4 c6 9. Bc4 d5 10. Bb3 Qd6 *
+
+[ECO "C49"]
+[Opening "Four knights"]
+[Variation "symmetrical, Tarrasch variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bb4 5. O-O O-O 6. d3 d6 7. Bg5 Be6 *
+
+[ECO "C49"]
+[Opening "Four knights"]
+[Variation "symmetrical, Maroczy system"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bb4 5. O-O O-O 6. d3 d6 7. Ne2 *
+
+[ECO "C49"]
+[Opening "Four knights"]
+[Variation "Nimzovich (Paulsen) variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. Bb5 Bb4 5. O-O O-O 6. Bxc6 *
+
+[ECO "C50"]
+[Opening "King's pawn game"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 *
+
+[ECO "C50"]
+[Opening "Blackburne shilling gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nd4 4. Nxe5 Qg5 5. Nxf7 Qxg2 6. Rf1 Qxe4+ 7. Be2
+Nf3# *
+
+[ECO "C50"]
+[Opening "Rousseau gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 f5 *
+
+[ECO "C50"]
+[Opening "Hungarian defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Be7 *
+
+[ECO "C50"]
+[Opening "Hungarian defence"]
+[Variation "Tartakower variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Be7 4. d4 exd4 5. c3 Nf6 6. e5 Ne4 *
+
+[ECO "C50"]
+[Opening "Giuoco Piano"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 *
+
+[ECO "C50"]
+[Opening "Giuoco Piano"]
+[Variation "four knights variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. Nc3 Nf6 *
+
+[ECO "C50"]
+[Opening "Giuoco Piano"]
+[Variation "Jerome gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. Bxf7+ *
+
+[ECO "C50"]
+[Opening "Giuoco Pianissimo"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. d3 *
+
+[ECO "C50"]
+[Opening "Giuoco Pianissimo"]
+[Variation "Dubois variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. d3 f5 5. Ng5 f4 *
+
+[ECO "C50"]
+[Opening "Giuoco Pianissimo"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. d3 Nf6 *
+
+[ECO "C50"]
+[Opening "Giuoco Pianissimo"]
+[Variation "Italian four knights variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. d3 Nf6 5. Nc3 *
+
+[ECO "C50"]
+[Opening "Giuoco Pianissimo"]
+[Variation "Canal variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. d3 Nf6 5. Nc3 d6 6. Bg5 *
+
+[ECO "C51"]
+[Opening "Evans gambit declined"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 *
+
+[ECO "C51"]
+[Opening "Evans gambit declined, Lange variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bb6 5. b5 Na5 6. Nxe5 Nh6 *
+
+[ECO "C51"]
+[Opening "Evans gambit declined, Pavlov variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bb6 5. b5 Na5 6. Nxe5 Nh6 7. d4 d6 8.
+Bxh6 dxe5 9. Bxg7 Rg8 10. Bxf7+ Kxf7 11. Bxe5 Qg5 12. Nd2 *
+
+[ECO "C51"]
+[Opening "Evans gambit declined, Hirschbach variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bb6 5. b5 Na5 6. Nxe5 Qg5 *
+
+[ECO "C51"]
+[Opening "Evans gambit declined, Vasquez variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bb6 5. b5 Na5 6. Nxe5 Qg5 7. Bxf7+ Ke7
+8. Qh5 *
+
+[ECO "C51"]
+[Opening "Evans gambit declined, Hicken variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bb6 5. b5 Na5 6. Nxe5 Qg5 7. Qf3 Qxe5
+8. Qxf7+ Kd8 9. Bb2 *
+
+[ECO "C51"]
+[Opening "Evans gambit declined, 5.a4"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bb6 5. a4 *
+
+[ECO "C51"]
+[Opening "Evans gambit declined, Showalter variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bb6 5. a4 a6 6. Nc3 *
+
+[ECO "C51"]
+[Opening "Evans gambit declined, Cordel variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bb6 5. Bb2 *
+
+[ECO "C51"]
+[Opening "Evans counter-gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 d5 *
+
+[ECO "C51"]
+[Opening "Evans gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 *
+
+[ECO "C51"]
+[Opening "Evans gambit"]
+[Variation "normal variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Bc5 6. d4 exd4 7. O-O d6 8.
+cxd4 Bb6 *
+
+[ECO "C51"]
+[Opening "Evans gambit"]
+[Variation "Ulvestad variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Bc5 6. d4 exd4 7. O-O d6 8.
+cxd4 Bb6 9. d5 Na5 10. Bb2 *
+
+[ECO "C51"]
+[Opening "Evans gambit"]
+[Variation "Paulsen variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Bc5 6. d4 exd4 7. O-O d6 8.
+cxd4 Bb6 9. d5 Na5 10. Bb2 Ne7 *
+
+[ECO "C51"]
+[Opening "Evans gambit"]
+[Variation "Morphy attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Bc5 6. d4 exd4 7. O-O d6 8.
+cxd4 Bb6 9. Nc3 *
+
+[ECO "C51"]
+[Opening "Evans gambit"]
+[Variation "Goering attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Bc5 6. d4 exd4 7. O-O d6 8.
+cxd4 Bb6 9. Nc3 Na5 10. Bg5 *
+
+[ECO "C51"]
+[Opening "Evans gambit"]
+[Variation "Steinitz variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Bc5 6. d4 exd4 7. O-O d6 8.
+cxd4 Bb6 9. Nc3 Na5 10. Bg5 f6 11. Be3 *
+
+[ECO "C51"]
+[Opening "Evans gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Bc5 6. d4 exd4 7. O-O d6 8.
+cxd4 Bb6 9. Nc3 Bg4 *
+
+[ECO "C51"]
+[Opening "Evans gambit"]
+[Variation "Fraser attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Bc5 6. d4 exd4 7. O-O d6 8.
+cxd4 Bb6 9. Nc3 Bg4 10. Qa4 *
+
+[ECO "C51"]
+[Opening "Evans gambit"]
+[Variation "Fraser-Mortimer attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Bc5 6. d4 exd4 7. O-O d6 8.
+cxd4 Bb6 9. Nc3 Bg4 10. Qa4 Bd7 11. Qb3 Na5 12. Bxf7+ Kf8 13. Qc2 *
+
+[ECO "C51"]
+[Opening "Evans gambit"]
+[Variation "Stone-Ware variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Bd6 *
+
+[ECO "C51"]
+[Opening "Evans gambit"]
+[Variation "Mayet defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Bf8 *
+
+[ECO "C51"]
+[Opening "Evans gambit"]
+[Variation "5...Be7"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Be7 *
+
+[ECO "C51"]
+[Opening "Evans gambit"]
+[Variation "Cordel variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Be7 6. d4 Na5 *
+
+[ECO "C52"]
+[Opening "Evans gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 *
+
+[ECO "C52"]
+[Opening "Evans gambit"]
+[Variation "compromised defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 6. d4 exd4 7. O-O dxc3
+*
+
+[ECO "C52"]
+[Opening "Evans gambit"]
+[Variation "compromised defence, Paulsen variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 6. d4 exd4 7. O-O dxc3
+8. Qb3 Qf6 9. e5 Qg6 10. Nxc3 Nge7 11. Ba3 *
+
+[ECO "C52"]
+[Opening "Evans gambit"]
+[Variation "compromised defence, Potter variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 6. d4 exd4 7. O-O dxc3
+8. Qb3 Qf6 9. e5 Qg6 10. Nxc3 Nge7 11. Rd1 *
+
+[ECO "C52"]
+[Opening "Evans gambit"]
+[Variation "Leonhardt variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 6. d4 b5 *
+
+[ECO "C52"]
+[Opening "Evans gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 6. d4 d6 *
+
+[ECO "C52"]
+[Opening "Evans gambit"]
+[Variation "Tartakower attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 6. d4 d6 7. Qb3 *
+
+[ECO "C52"]
+[Opening "Evans gambit"]
+[Variation "Levenfish variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 6. d4 d6 7. Qb3 Qd7 8.
+dxe5 dxe5 9. O-O Bb6 10. Ba3 Na5 11. Nxe5 *
+
+[ECO "C52"]
+[Opening "Evans gambit"]
+[Variation "Sokolsky variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 6. d4 d6 7. Bg5 *
+
+[ECO "C52"]
+[Opening "Evans gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 6. O-O *
+
+[ECO "C52"]
+[Opening "Evans gambit"]
+[Variation "Richardson attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 6. O-O Nf6 7. d4 O-O 8.
+Nxe5 *
+
+[ECO "C52"]
+[Opening "Evans gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 6. O-O d6 *
+
+[ECO "C52"]
+[Opening "Evans gambit"]
+[Variation "Waller attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 6. O-O d6 7. d4 exd4 8.
+Qb3 *
+
+[ECO "C52"]
+[Opening "Evans gambit"]
+[Variation "Lasker defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 6. O-O d6 7. d4 Bb6 *
+
+[ECO "C52"]
+[Opening "Evans gambit"]
+[Variation "Sanders-Alapin variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 6. O-O d6 7. d4 Bd7 *
+
+[ECO "C52"]
+[Opening "Evans gambit"]
+[Variation "Alapin-Steinitz variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 6. O-O d6 7. d4 Bg4 *
+
+[ECO "C53"]
+[Opening "Giuoco Piano"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 *
+
+[ECO "C53"]
+[Opening "Giuoco Piano"]
+[Variation "LaBourdonnais variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 d6 5. d4 exd4 6. cxd4 Bb6 *
+
+[ECO "C53"]
+[Opening "Giuoco Piano"]
+[Variation "close variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Qe7 *
+
+[ECO "C53"]
+[Opening "Giuoco Piano"]
+[Variation "centre-holding variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Qe7 5. d4 Bb6 *
+
+[ECO "C53"]
+[Opening "Giuoco Piano"]
+[Variation "Tarrasch variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Qe7 5. d4 Bb6 6. O-O Nf6 7. a4 a6 8. 
+Re1 d6 9. h3 *
+
+[ECO "C53"]
+[Opening "Giuoco Piano"]
+[Variation "Mestel variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Qe7 5. d4 Bb6 6. Bg5 *
+
+[ECO "C53"]
+[Opening "Giuoco Piano"]
+[Variation "Eisinger variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Qe7 5. d4 Bb6 6. d5 Nb8 7. d6 *
+
+[ECO "C53"]
+[Opening "Giuoco Piano"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 *
+
+[ECO "C53"]
+[Opening "Giuoco Piano"]
+[Variation "Bird's attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. b4 *
+
+[ECO "C53"]
+[Opening "Giuoco Piano"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. d4 *
+
+[ECO "C53"]
+[Opening "Giuoco Piano"]
+[Variation "Ghulam Kassim variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. d4 exd4 6. e5 Ne4 7. Bd5 Nxf2 
+8. Kxf2 dxc3+ 9. Kg3 *
+
+[ECO "C53"]
+[Opening "Giuoco Piano"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. d4 exd4 6. e5 d5 *
+
+[ECO "C53"]
+[Opening "Giuoco Piano"]
+[Variation "Anderssen variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. d4 exd4 6. e5 d5 7. Bb5 Ne4 8.
+cxd4 Bb4+ *
+
+[ECO "C54"]
+[Opening "Giuoco Piano"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. d4 exd4 6. cxd4 *
+
+[ECO "C54"]
+[Opening "Giuoco Piano"]
+[Variation "Krause variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. d4 exd4 6. cxd4 Bb4+ 7. Bd2 
+Nxe4 8. Bxb4 Nxb4 9. Bxf7+ Kxf7 10. Qb3+ d5 11. Ne5+ Kf6 12. f3 *
+
+[ECO "C54"]
+[Opening "Giuoco Piano"]
+[Variation "Cracow variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. d4 exd4 6. cxd4 Bb4+ 7. Kf1 *
+
+[ECO "C54"]
+[Opening "Giuoco Piano"]
+[Variation "Greco's attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. d4 exd4 6. cxd4 Bb4+ 7. Nc3 *
+
+[ECO "C54"]
+[Opening "Giuoco Piano"]
+[Variation "Greco variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. d4 exd4 6. cxd4 Bb4+ 7. Nc3 
+Nxe4 8. O-O Nxc3 *
+
+[ECO "C54"]
+[Opening "Giuoco Piano"]
+[Variation "Bernstein variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. d4 exd4 6. cxd4 Bb4+ 7. Nc3 
+Nxe4 8. O-O Nxc3 9. bxc3 Bxc3 10. Qb3 d5 *
+
+[ECO "C54"]
+[Opening "Giuoco Piano"]
+[Variation "Aitken variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. d4 exd4 6. cxd4 Bb4+ 7. Nc3 
+Nxe4 8. O-O Nxc3 9. bxc3 Bxc3 10. Ba3 *
+
+[ECO "C54"]
+[Opening "Giuoco Piano"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. d4 exd4 6. cxd4 Bb4+ 7. Nc3 
+Nxe4 8. O-O Bxc3 *
+
+[ECO "C54"]
+[Opening "Giuoco Piano"]
+[Variation "Steinitz variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. d4 exd4 6. cxd4 Bb4+ 7. Nc3 
+Nxe4 8. O-O Bxc3 9. bxc3 d5 10. Ba3 *
+
+[ECO "C54"]
+[Opening "Giuoco Piano"]
+[Variation "Moeller (Therkatz) attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. d4 exd4 6. cxd4 Bb4+ 7. Nc3 
+Nxe4 8. O-O Bxc3 9. d5 *
+
+[ECO "C54"]
+[Opening "Giuoco Piano"]
+[Variation "Therkatz-Herzog variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. d4 exd4 6. cxd4 Bb4+ 7. Nc3 
+Nxe4 8. O-O Bxc3 9. d5 Bf6 10. Re1 Ne7 11. Rxe4 d6 12. Bg5 Bxg5 13. Nxg5 
+O-O 14. Nxh7 *
+
+[ECO "C54"]
+[Opening "Giuoco Piano"]
+[Variation "Moeller, bayonet attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. c3 Nf6 5. d4 exd4 6. cxd4 Bb4+ 7. Nc3 
+Nxe4 8. O-O Bxc3 9. d5 Bf6 10. Re1 Ne7 11. Rxe4 d6 12. g4 *
+
+[ECO "C55"]
+[Opening "Two knights defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 *
+
+[ECO "C55"]
+[Opening "Giuoco piano"]
+[Variation "Rosentreter variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. O-O Bc5 5. d4 Bxd4 6. Nxd4 Nxd4 7. Bg5 h6
+8. Bh4 g5 9. f4 *
+
+[ECO "C55"]
+[Opening "Giuoco piano"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. O-O Bc5 5. d4 Bxd4 6. Nxd4 Nxd4 7. Bg5 d6
+*
+
+[ECO "C55"]
+[Opening "Giuoco piano"]
+[Variation "Holzhausen attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. O-O Bc5 5. d4 Bxd4 6. Nxd4 Nxd4 7. Bg5 d6
+8. f4 Qe7 9. fxe5 dxe5 10. Nc3 *
+
+[ECO "C55"]
+[Opening "Two knights defence (Modern bishop's opening)"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d3 *
+
+[ECO "C55"]
+[Opening "Two knights defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d4 *
+
+[ECO "C55"]
+[Opening "Two knights defence, Keidanz variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d4 exd4 5. e5 d5 6. Bb5 Ne4 7. Nxd4 Bc5 
+8. Nxc6 Bxf2+ 9. Kf1 Qh4 *
+
+[ECO "C55"]
+[Opening "Two knights defence, Perreux variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d4 exd4 5. Ng5 *
+
+[ECO "C55"]
+[Opening "Two knights defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d4 exd4 5. O-O *
+
+[ECO "C55"]
+[Opening "two knights"]
+[Variation "Max Lange attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d4 exd4 5. O-O Bc5 6. e5 *
+
+[ECO "C55"]
+[Opening "two knights"]
+[Variation "Max Lange attack, Berger variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d4 exd4 5. O-O Bc5 6. e5 d5 7. exf6 dxc4
+8. Re1+ Be6 9. Ng5 Qd5 10. Nc3 Qf5 11. g4 Qg6 12. Nce4 Bb6 13. f4 O-O-O *
+
+[ECO "C55"]
+[Opening "two knights"]
+[Variation "Max Lange attack, Marshall variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d4 exd4 5. O-O Bc5 6. e5 d5 7. exf6 dxc4
+8. Re1+ Be6 9. Ng5 Qd5 10. Nc3 Qf5 11. Nce4 *
+
+[ECO "C55"]
+[Opening "two knights"]
+[Variation "Max Lange attack, Rubinstein variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d4 exd4 5. O-O Bc5 6. e5 d5 7. exf6 dxc4
+8. Re1+ Be6 9. Ng5 Qd5 10. Nc3 Qf5 11. Nce4 Bf8 *
+
+[ECO "C55"]
+[Opening "two knights"]
+[Variation "Max Lange attack, Loman defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d4 exd4 5. O-O Bc5 6. e5 d5 7. exf6 dxc4
+8. Re1+ Be6 9. Ng5 g6 *
+
+[ECO "C55"]
+[Opening "two knights"]
+[Variation "Max Lange attack, Schlechter variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d4 exd4 5. O-O Bc5 6. e5 d5 7. exf6 dxc4
+8. Re1+ Be6 9. fxg7 *
+
+[ECO "C55"]
+[Opening "two knights"]
+[Variation "Max Lange attack, Steinitz variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d4 exd4 5. O-O Bc5 6. e5 Ng4 *
+
+[ECO "C55"]
+[Opening "two knights"]
+[Variation "Max Lange attack, Krause variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d4 exd4 5. O-O Bc5 6. e5 Ng4 7. c3 *
+
+[ECO "C56"]
+[Opening "Two knights defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d4 exd4 5. O-O Nxe4 *
+
+[ECO "C56"]
+[Opening "two knights defence"]
+[Variation "Yurdansky attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d4 exd4 5. O-O Nxe4 6. Re1 d5 7. Bxd5 
+Qxd5 8. Nc3 Qa5 9. Nxe4 Be6 10. Bg5 h6 11. Bh4 g5 12. Nf6+ Ke7 13. b4 *
+
+[ECO "C56"]
+[Opening "two knights defence"]
+[Variation "Canal variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d4 exd4 5. O-O Nxe4 6. Re1 d5 7. Nc3 *
+
+[ECO "C57"]
+[Opening "Two knights defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 *
+
+[ECO "C57"]
+[Opening "two knights defence"]
+[Variation "Wilkes Barre (Traxler) variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 Bc5 *
+
+[ECO "C57"]
+[Opening "two knights defence"]
+[Variation "Ulvestad variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 b5 *
+
+[ECO "C57"]
+[Opening "two knights defence"]
+[Variation "Fritz variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Nd4 *
+
+[ECO "C57"]
+[Opening "two knights defence"]
+[Variation "Fritz, Gruber variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Nd4 6. c3 b5 7. Bf1 Nxd5 
+8. Ne4 *
+
+[ECO "C57"]
+[Opening "two knights defence"]
+[Variation "Lolli attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Nxd5 6. d4 *
+
+[ECO "C57"]
+[Opening "two knights defence"]
+[Variation "Pincus variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Nxd5 6. d4 Bb4+ *
+
+[ECO "C57"]
+[Opening "two knights defence"]
+[Variation "Fegatello attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Nxd5 6. Nxf7 *
+
+[ECO "C57"]
+[Opening "two knights defence"]
+[Variation "Fegatello attack, Leonhardt variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Nxd5 6. Nxf7 Kxf7 7. Qf3+
+Ke6 8. Nc3 Nb4 9. Qe4 c6 10. a3 Na6 11. d4 Nc7 *
+
+[ECO "C57"]
+[Opening "two knights defence"]
+[Variation "Fegatello attack, Polerio defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Nxd5 6. Nxf7 Kxf7 7. Qf3+
+Ke6 8. Nc3 Ne7 *
+
+[ECO "C58"]
+[Opening "two knights defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Na5 *
+
+[ECO "C58"]
+[Opening "two knights defence"]
+[Variation "Kieseritsky variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Na5 6. d3 *
+
+[ECO "C58"]
+[Opening "two knights defence"]
+[Variation "Yankovich variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Na5 6. d3 h6 7. Nf3 e4 8.
+Qe2 Nxc4 9. dxc4 Bc5 10. Nfd2 *
+
+[ECO "C58"]
+[Opening "two knights defence"]
+[Variation "Maroczy variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Na5 6. d3 h6 7. Nf3 e4 8.
+Qe2 Nxc4 9. dxc4 Be7 *
+
+[ECO "C58"]
+[Opening "Two knights defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Na5 6. Bb5+ *
+
+[ECO "C58"]
+[Opening "two knights defence"]
+[Variation "Bogolyubov variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Na5 6. Bb5+ c6 7. dxc6 
+bxc6 8. Qf3 *
+
+[ECO "C58"]
+[Opening "two knights defence"]
+[Variation "Paoli variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Na5 6. Bb5+ c6 7. dxc6 
+bxc6 8. Qf3 Qc7 9. Bd3 *
+
+[ECO "C58"]
+[Opening "two knights defence"]
+[Variation "Colman variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Na5 6. Bb5+ c6 7. dxc6 
+bxc6 8. Qf3 Rb8 *
+
+[ECO "C58"]
+[Opening "two knights defence"]
+[Variation "Blackburne variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Na5 6. Bb5+ c6 7. dxc6 
+bxc6 8. Qf3 cxb5 *
+
+[ECO "C58"]
+[Opening "Two knights defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Na5 6. Bb5+ c6 7. dxc6 
+bxc6 8. Be2 *
+
+[ECO "C59"]
+[Opening "Two knights defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Na5 6. Bb5+ c6 7. dxc6 
+bxc6 8. Be2 h6 *
+
+[ECO "C59"]
+[Opening "two knights defence"]
+[Variation "Knorre variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Na5 6. Bb5+ c6 7. dxc6 
+bxc6 8. Be2 h6 9. Nf3 e4 10. Ne5 Bd6 11. d4 Qc7 12. Bd2 *
+
+[ECO "C59"]
+[Opening "two knights defence"]
+[Variation "Goering variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Na5 6. Bb5+ c6 7. dxc6 
+bxc6 8. Be2 h6 9. Nf3 e4 10. Ne5 Qc7 *
+
+[ECO "C59"]
+[Opening "two knights defence"]
+[Variation "Steinitz variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Na5 6. Bb5+ c6 7. dxc6 
+bxc6 8. Be2 h6 9. Nh3 *
+
+[ECO "C60"]
+[Opening "Ruy Lopez (Spanish opening)"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 *
+
+[ECO "C60"]
+[Opening "Ruy Lopez"]
+[Variation "Nuernberg variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 f6 *
+
+[ECO "C60"]
+[Opening "Ruy Lopez"]
+[Variation "Pollock defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Na5 *
+
+[ECO "C60"]
+[Opening "Ruy Lopez"]
+[Variation "Lucena defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Be7 *
+
+[ECO "C60"]
+[Opening "Ruy Lopez"]
+[Variation "Vinogradov variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Qe7 *
+
+[ECO "C60"]
+[Opening "Ruy Lopez"]
+[Variation "Brentano defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 g5 *
+
+[ECO "C60"]
+[Opening "Ruy Lopez"]
+[Variation "fianchetto (Smyslov/Barnes) defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 g6 *
+
+[ECO "C60"]
+[Opening "Ruy Lopez"]
+[Variation "Cozio defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nge7 *
+
+[ECO "C60"]
+[Opening "Ruy Lopez"]
+[Variation "Cozio defence, Paulsen variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nge7 4. Nc3 g6 *
+
+[ECO "C61"]
+[Opening "Ruy Lopez"]
+[Variation "Bird's defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nd4 *
+
+[ECO "C61"]
+[Opening "Ruy Lopez"]
+[Variation "Bird's defence, Paulsen variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nd4 4. Nxd4 exd4 5. O-O Ne7 *
+
+[ECO "C62"]
+[Opening "Ruy Lopez"]
+[Variation "old Steinitz defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 d6 *
+
+[ECO "C62"]
+[Opening "Ruy Lopez"]
+[Variation "old Steinitz defence, Nimzovich attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 d6 4. d4 Bd7 5. Nc3 Nf6 6. Bxc6 *
+
+[ECO "C62"]
+[Opening "Ruy Lopez"]
+[Variation "old Steinitz defence, semi-Duras variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 d6 4. d4 Bd7 5. c4 *
+
+[ECO "C63"]
+[Opening "Ruy Lopez"]
+[Variation "Schliemann defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 f5 *
+
+[ECO "C63"]
+[Opening "Ruy Lopez"]
+[Variation "Schliemann defence, Berger variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 f5 4. Nc3 *
+
+[ECO "C64"]
+[Opening "Ruy Lopez"]
+[Variation "classical (Cordel) defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Bc5 *
+
+[ECO "C64"]
+[Opening "Ruy Lopez"]
+[Variation "classical defence, Zaitsev variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Bc5 4. O-O Nd4 5. b4 *
+
+[ECO "C64"]
+[Opening "Ruy Lopez"]
+[Variation "classical defence, 4.c3"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Bc5 4. c3 *
+
+[ECO "C64"]
+[Opening "Ruy Lopez"]
+[Variation "classical defence, Benelux variation  "]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Bc5 4. c3 Nf6 5. O-O O-O 6. d4 Bb6 *
+
+[ECO "C64"]
+[Opening "Ruy Lopez"]
+[Variation "classical defence, Charousek variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Bc5 4. c3 Bb6 *
+
+[ECO "C64"]
+[Opening "Ruy Lopez"]
+[Variation "classical defence, Boden variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Bc5 4. c3 Qe7 *
+
+[ECO "C64"]
+[Opening "Ruy Lopez"]
+[Variation "Cordel gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Bc5 4. c3 f5 *
+
+[ECO "C65"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 *
+
+[ECO "C65"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, Nyholm attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d4 exd4 5. O-O *
+
+[ECO "C65"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, Mortimer variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d3 Ne7 *
+
+[ECO "C65"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, Mortimer trap"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d3 Ne7 5. Nxe5 c6 *
+
+[ECO "C65"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, Anderssen variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d3 d6 5. Bxc6+ *
+
+[ECO "C65"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, Duras variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d3 d6 5. c4 *
+
+[ECO "C65"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, Kaufmann variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d3 Bc5 5. Be3 *
+
+[ECO "C65"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, 4.O-O"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O *
+
+[ECO "C65"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, Beverwijk variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Bc5 *
+
+[ECO "C66"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, 4.O-O, d6"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O d6 *
+
+[ECO "C66"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, hedgehog variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O d6 5. d4 Bd7 6. Nc3 Be7 *
+
+[ECO "C66"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, Tarrasch trap"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O d6 5. d4 Bd7 6. Nc3 Be7 7. Re1 O-O *
+
+[ECO "C66"]
+[Opening "Ruy Lopez"]
+[Variation "closed Berlin defence, Bernstein variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O d6 5. d4 Bd7 6. Nc3 Be7 7. Bg5 *
+
+[ECO "C66"]
+[Opening "Ruy Lopez"]
+[Variation "closed Berlin defence, Showalter variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O d6 5. d4 Bd7 6. Nc3 Be7 7. Bxc6 *
+
+[ECO "C66"]
+[Opening "Ruy Lopez"]
+[Variation "closed Berlin defence, Wolf variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O d6 5. d4 Bd7 6. Nc3 exd4 *
+
+[ECO "C66"]
+[Opening "Ruy Lopez"]
+[Variation "closed Berlin defence, Chigorin variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O d6 5. d4 Nd7 *
+
+[ECO "C67"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, open variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 *
+
+[ECO "C67"]
+[Opening "Ruy Lopez"]
+[Variation "open Berlin defence, l'Hermet variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Nd6 6. dxe5 *
+
+[ECO "C67"]
+[Opening "Ruy Lopez"]
+[Variation "open Berlin defence, Showalter variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Nd6 6. Ba4 *
+
+[ECO "C67"]
+[Opening "Ruy Lopez"]
+[Variation "open Berlin defence, 5...Be7"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Be7 *
+
+[ECO "C67"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, Rio de Janeiro variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Be7 6. Qe2 Nd6 7. Bxc6 
+bxc6 8. dxe5 Nb7 9. Nc3 O-O 10. Re1 Nc5 11. Nd4 Ne6 12. Be3 Nxd4 13. Bxd4 
+c5 *
+
+[ECO "C67"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, Zukertort variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Be7 6. Qe2 Nd6 7. Bxc6 
+bxc6 8. dxe5 Nb7 9. c4 *
+
+[ECO "C67"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, Pillsbury variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Be7 6. Qe2 Nd6 7. Bxc6 
+bxc6 8. dxe5 Nb7 9. b3 *
+
+[ECO "C67"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, Winawer attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Be7 6. Qe2 Nd6 7. Bxc6 
+bxc6 8. dxe5 Nb7 9. Nd4 *
+
+[ECO "C67"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, Cordel variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Be7 6. Qe2 Nd6 7. Bxc6 
+bxc6 8. dxe5 Nf5 *
+
+[ECO "C67"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, Trifunovic variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Be7 6. Qe2 d5 *
+
+[ECO "C67"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, Minckwitz variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Be7 6. dxe5 *
+
+[ECO "C67"]
+[Opening "Ruy Lopez"]
+[Variation "Berlin defence, Rosenthal variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 a6 *
+
+[ECO "C68"]
+[Opening "Ruy Lopez"]
+[Variation "exchange variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Bxc6 *
+
+[ECO "C68"]
+[Opening "Ruy Lopez"]
+[Variation "exchange, Alekhine variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Bxc6 dxc6 5. d4 exd4 6. Qxd4 Qxd4 7. Nxd4
+Bd7 *
+
+[ECO "C68"]
+[Opening "Ruy Lopez"]
+[Variation "exchange, Keres variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Bxc6 dxc6 5. Nc3 *
+
+[ECO "C68"]
+[Opening "Ruy Lopez"]
+[Variation "exchange, Romanovsky variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Bxc6 dxc6 5. Nc3 f6 6. d3 *
+
+[ECO "C69"]
+[Opening "Ruy Lopez"]
+[Variation "exchange variation, 5.O-O"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Bxc6 dxc6 5. O-O *
+
+[ECO "C69"]
+[Opening "Ruy Lopez"]
+[Variation "exchange variation, Alapin gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Bxc6 dxc6 5. O-O Bg4 6. h3 h5 *
+
+[ECO "C69"]
+[Opening "Ruy Lopez"]
+[Variation "exchange, Gligoric variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Bxc6 dxc6 5. O-O f6 *
+
+[ECO "C69"]
+[Opening "Ruy Lopez"]
+[Variation "exchange, Bronstein variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Bxc6 dxc6 5. O-O Qd6 *
+
+[ECO "C70"]
+[Opening "Ruy Lopez"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 *
+
+[ECO "C70"]
+[Opening "Ruy Lopez"]
+[Variation "fianchetto defence deferred"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 g6 *
+
+[ECO "C70"]
+[Opening "Ruy Lopez"]
+[Variation "Cozio defence deferred"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nge7 *
+
+[ECO "C70"]
+[Opening "Ruy Lopez"]
+[Variation "Bird's defence deferred"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nd4 *
+
+[ECO "C70"]
+[Opening "Ruy Lopez"]
+[Variation "Alapin's defence deferred"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Bb4 *
+
+[ECO "C70"]
+[Opening "Ruy Lopez"]
+[Variation "Classical defence deferred"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Bc5 *
+
+[ECO "C70"]
+[Opening "Ruy Lopez"]
+[Variation "Caro variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 b5 *
+
+[ECO "C70"]
+[Opening "Ruy Lopez"]
+[Variation "Graz variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 b5 5. Bb3 Bc5 *
+
+[ECO "C70"]
+[Opening "Ruy Lopez"]
+[Variation "Taimanov (chase/wing/accelerated counterthrust) variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 b5 5. Bb3 Na5 *
+
+[ECO "C70"]
+[Opening "Ruy Lopez"]
+[Variation "Schliemann defence deferred"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 f5 *
+
+[ECO "C71"]
+[Opening "Ruy Lopez"]
+[Variation "modern Steinitz defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 d6 *
+
+[ECO "C71"]
+[Opening "Ruy Lopez"]
+[Variation "Noah's ark trap"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 d6 5. d4 b5 6. Bb3 Nxd4 7. Nxd4 exd4 
+8. Qxd4 c5 *
+
+[ECO "C71"]
+[Opening "Ruy Lopez"]
+[Variation "modern Steinitz defence, Three knights variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 d6 5. Nc3 *
+
+[ECO "C71"]
+[Opening "Ruy Lopez"]
+[Variation "modern Steinitz defence, Duras (Keres) variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 d6 5. c4 *
+
+[ECO "C72"]
+[Opening "Ruy Lopez"]
+[Variation "modern Steinitz defence, 5.O-O"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 d6 5. O-O *
+
+[ECO "C73"]
+[Opening "Ruy Lopez"]
+[Variation "modern Steinitz defence, Richter variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 d6 5. Bxc6+ bxc6 6. d4 *
+
+[ECO "C73"]
+[Opening "Ruy Lopez"]
+[Variation "modern Steinitz defence, Alapin variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 d6 5. Bxc6+ bxc6 6. d4 f6 *
+
+[ECO "C74"]
+[Opening "Ruy Lopez"]
+[Variation "modern Steinitz defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 d6 5. c3 *
+
+[ECO "C74"]
+[Opening "Ruy Lopez"]
+[Variation "modern Steinitz defence, siesta variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 d6 5. c3 f5 *
+
+[ECO "C74"]
+[Opening "Ruy Lopez"]
+[Variation "Siesta, Kopayev variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 d6 5. c3 f5 6. exf5 Bxf5 7. O-O *
+
+[ECO "C75"]
+[Opening "Ruy Lopez"]
+[Variation "modern Steinitz defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 d6 5. c3 Bd7 *
+
+[ECO "C75"]
+[Opening "Ruy Lopez"]
+[Variation "modern Steinitz defence, Rubinstein variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 d6 5. c3 Bd7 6. d4 Nge7 *
+
+[ECO "C76"]
+[Opening "Ruy Lopez"]
+[Variation "modern Steinitz defence, fianchetto (Bronstein) variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 d6 5. c3 Bd7 6. d4 g6 *
+
+[ECO "C77"]
+[Opening "Ruy Lopez"]
+[Variation "Morphy defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 *
+
+[ECO "C77"]
+[Opening "Ruy Lopez"]
+[Variation "four knights (Tarrasch) variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. Nc3 *
+
+[ECO "C77"]
+[Opening "Ruy Lopez"]
+[Variation "Treybal (Bayreuth) variation (exchange var. deferred)"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. Bxc6 *
+
+[ECO "C77"]
+[Opening "Ruy Lopez"]
+[Variation "Wormald (Alapin) attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. Qe2 *
+
+[ECO "C77"]
+[Opening "Ruy Lopez"]
+[Variation "Wormald attack, Gruenfeld variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. Qe2 b5 6. Bb3 Be7 7. d4 d6 8. 
+c3 Bg4 *
+
+[ECO "C77"]
+[Opening "Ruy Lopez"]
+[Variation "Anderssen variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. d3 *
+
+[ECO "C77"]
+[Opening "Ruy Lopez"]
+[Variation "Morphy defence, Duras variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. d3 d6 6. c4 *
+
+[ECO "C78"]
+[Opening "Ruy Lopez"]
+[Variation "5.O-O"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O *
+
+[ECO "C78"]
+[Opening "Ruy Lopez"]
+[Variation "Wing attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O b5 6. Bb3 Be7 7. a4 *
+
+[ECO "C78"]
+[Opening "Ruy Lopez"]
+[Variation "...b5 & ...d6"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O b5 6. Bb3 d6 *
+
+[ECO "C78"]
+[Opening "Ruy Lopez"]
+[Variation "Rabinovich variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O b5 6. Bb3 d6 7. Ng5 d5 8. 
+exd5 Nd4 9. Re1 Bc5 10. Rxe5+ Kf8 *
+
+[ECO "C78"]
+[Opening "Ruy Lopez"]
+[Variation "Archangelsk (counterthrust) variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O b5 6. Bb3 Bb7 *
+
+[ECO "C78"]
+[Opening "Ruy Lopez"]
+[Variation "Moeller defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Bc5 *
+
+[ECO "C79"]
+[Opening "Ruy Lopez"]
+[Variation "Steinitz defence deferred (Russian defence)"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O d6 *
+
+[ECO "C79"]
+[Opening "Ruy Lopez"]
+[Variation "Steinitz defence deferred, Lipnitsky variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O d6 6. Bxc6+ bxc6 7. d4 Bg4
+*
+
+[ECO "C79"]
+[Opening "Ruy Lopez"]
+[Variation "Steinitz defence deferred, Rubinstein variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O d6 6. Bxc6+ bxc6 7. d4 Nxe4
+*
+
+[ECO "C79"]
+[Opening "Ruy Lopez"]
+[Variation "Steinitz defence deferred, Boleslavsky variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O d6 6. Bxc6+ bxc6 7. d4 Nxe4
+8. Re1 f5 9. dxe5 d5 10. Nc3 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open (Tarrasch) defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open, Tartakower variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. Qe2 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open, Knorre variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. Nc3 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open, 6.d4"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open, Riga variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 exd4 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open, 6.d4 b5"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open, Friess attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Nxe5 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open, Richter variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. d5 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open, 7.Bb3"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open, Schlechter defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+a4 Nxd4 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open, Berger variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+a4 Nxd4 9. Nxd4 exd4 10. Nc3 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open, Harksen gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+c4 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open, 8.de"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open, Zukertort variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Ne7 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open, 8...Be6"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open, Bernstein variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. Nbd2 *
+
+[ECO "C80"]
+[Opening "Ruy Lopez"]
+[Variation "open, Bernstein variation, Karpov gambit"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. Nbd2 Nc5 10. c3 d4 11. Ng5 *
+
+[ECO "C81"]
+[Opening "Ruy Lopez"]
+[Variation "open, Howell attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. Qe2 *
+
+[ECO "C81"]
+[Opening "Ruy Lopez"]
+[Variation "open, Howell attack, Ekstroem variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. Qe2 Be7 10. Rd1 O-O 11. c4 bxc4 12. Bxc4 Qd7 *
+
+[ECO "C81"]
+[Opening "Ruy Lopez"]
+[Variation "open, Howell attack, Adam variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. Qe2 Be7 10. c4 *
+
+[ECO "C82"]
+[Opening "Ruy Lopez"]
+[Variation "open, 9.c3"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. c3 *
+
+[ECO "C82"]
+[Opening "Ruy Lopez"]
+[Variation "open, Berlin variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. c3 Nc5 *
+
+[ECO "C82"]
+[Opening "Ruy Lopez"]
+[Variation "open, Italian variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. c3 Bc5 *
+
+[ECO "C82"]
+[Opening "Ruy Lopez"]
+[Variation "open, St. Petersburg variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. c3 Bc5 10. Nbd2 *
+
+[ECO "C82"]
+[Opening "Ruy Lopez"]
+[Variation "open, Dilworth variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. c3 Bc5 10. Nbd2 O-O 11. Bc2 Nxf2 *
+
+[ECO "C82"]
+[Opening "Ruy Lopez"]
+[Variation "open, Motzko attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. c3 Bc5 10. Qd3 *
+
+[ECO "C82"]
+[Opening "Ruy Lopez"]
+[Variation "open, Motzko attack, Nenarokov variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. c3 Bc5 10. Qd3 Ne7 *
+
+[ECO "C83"]
+[Opening "Ruy Lopez"]
+[Variation "open, classical defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. c3 Be7 *
+
+[ECO "C83"]
+[Opening "Ruy Lopez"]
+[Variation "open, Malkin variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. c3 Be7 10. Nbd2 O-O 11. Qe2 *
+
+[ECO "C83"]
+[Opening "Ruy Lopez"]
+[Variation "open, 9...Be7, 10.Re1"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. c3 Be7 10. Re1 *
+
+[ECO "C83"]
+[Opening "Ruy Lopez"]
+[Variation "open, Tarrasch trap"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. c3 Be7 10. Re1 O-O 11. Nd4 Qd7 12. Nxe6 fxe6 13. Rxe4 *
+
+[ECO "C83"]
+[Opening "Ruy Lopez"]
+[Variation "open, Breslau variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8.
+dxe5 Be6 9. c3 Be7 10. Re1 O-O 11. Nd4 Nxe5 *
+
+[ECO "C84"]
+[Opening "Ruy Lopez"]
+[Variation "closed defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 *
+
+[ECO "C84"]
+[Opening "Ruy Lopez"]
+[Variation "closed, centre attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. d4 *
+
+[ECO "C84"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Basque gambit (North Spanish variation)"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. d4 exd4 7. e5 Ne4 8.
+c3 *
+
+[ECO "C85"]
+[Opening "Ruy Lopez"]
+[Variation "Exchange variation doubly deferred (DERLD)"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Bxc6 *
+
+[ECO "C86"]
+[Opening "Ruy Lopez"]
+[Variation "Worrall attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Qe2 *
+
+[ECO "C86"]
+[Opening "Ruy Lopez"]
+[Variation "Worrall attack, sharp line"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Qe2 b5 7. Bb3 O-O *
+
+[ECO "C86"]
+[Opening "Ruy Lopez"]
+[Variation "Worrall attack, solid line"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Qe2 b5 7. Bb3 d6 *
+
+[ECO "C87"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Averbach variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 d6 *
+
+[ECO "C88"]
+[Opening "Ruy Lopez"]
+[Variation "closed"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 *
+
+[ECO "C88"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Leonhardt variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 d6 8.
+c3 Na5 9. Bc2 c5 10. d4 Qc7 11. h3 Nc6 12. d5 Nb8 13. Nbd2 g5 *
+
+[ECO "C88"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Balla variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 d6 8.
+c3 Na5 9. Bc2 c5 10. d4 Qc7 11. a4 *
+
+[ECO "C88"]
+[Opening "Ruy Lopez"]
+[Variation "closed, 7...d6, 8.d4"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 d6 8.
+d4 *
+
+[ECO "C88"]
+[Opening "Ruy Lopez"]
+[Variation "Noah's ark trap"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 d6 8.
+d4 Nxd4 9. Nxd4 exd4 10. Qxd4 c5 *
+
+[ECO "C88"]
+[Opening "Ruy Lopez"]
+[Variation "Trajkovic counter-attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 Bb7 *
+
+[ECO "C88"]
+[Opening "Ruy Lopez"]
+[Variation "closed, 7...O-O"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O *
+
+[ECO "C88"]
+[Opening "Ruy Lopez"]
+[Variation "closed, anti-Marshall 8.a4"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+a4 *
+
+[ECO "C88"]
+[Opening "Ruy Lopez"]
+[Variation "closed, 8.c3"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 *
+
+[ECO "C89"]
+[Opening "Ruy Lopez"]
+[Variation "Marshall counter-attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d5 *
+
+[ECO "C89"]
+[Opening "Ruy Lopez"]
+[Variation "Marshall counter-attack, 11...c6"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d5 9. exd5 Nxd5 10. Nxe5 Nxe5 11. Rxe5 c6 *
+
+[ECO "C89"]
+[Opening "Ruy Lopez"]
+[Variation "Marshall, Kevitz variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d5 9. exd5 Nxd5 10. Nxe5 Nxe5 11. Rxe5 c6 12. Bxd5 cxd5 13. d4 Bd6 14. 
+Re3 *
+
+[ECO "C89"]
+[Opening "Ruy Lopez"]
+[Variation "Marshall, main line, 12.d2d4"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d5 9. exd5 Nxd5 10. Nxe5 Nxe5 11. Rxe5 c6 12. d4 *
+
+[ECO "C89"]
+[Opening "Ruy Lopez"]
+[Variation "Marshall, main line, 14...Qh3"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d5 9. exd5 Nxd5 10. Nxe5 Nxe5 11. Rxe5 c6 12. d4 Bd6 13. Re1 Qh4 14. g3
+Qh3 *
+
+[ECO "C89"]
+[Opening "Ruy Lopez"]
+[Variation "Marshall, main line, Spassky variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d5 9. exd5 Nxd5 10. Nxe5 Nxe5 11. Rxe5 c6 12. d4 Bd6 13. Re1 Qh4 14. g3
+Qh3 15. Be3 Bg4 16. Qd3 Rae8 17. Nd2 Re6 18. a4 Qh5 *
+
+[ECO "C89"]
+[Opening "Ruy Lopez"]
+[Variation "Marshall, Herman Steiner variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d5 9. exd5 e4 *
+
+[ECO "C90"]
+[Opening "Ruy Lopez"]
+[Variation "closed (with ...d6)"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 *
+
+[ECO "C90"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Pilnik variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. d3 *
+
+[ECO "C90"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Lutikov variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. Bc2 *
+
+[ECO "C90"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Suetin variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. a3 *
+
+[ECO "C91"]
+[Opening "Ruy Lopez"]
+[Variation "closed, 9.d4"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. d4 *
+
+[ECO "C91"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Bogolyubov variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. d4 Bg4 *
+
+[ECO "C92"]
+[Opening "Ruy Lopez"]
+[Variation "closed, 9.h3"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 *
+
+[ECO "C92"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Keres (9...a5) variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 a5 *
+
+[ECO "C92"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Kholmov variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Be6 *
+
+[ECO "C92"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Ragozin-Petrosian (`Keres') variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Nd7 *
+
+[ECO "C92"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Flohr-Zaitsev system (Lenzerheide variation)"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Bb7 *
+
+[ECO "C93"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Smyslov defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 h6 *
+
+[ECO "C94"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Breyer defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Nb8 *
+
+[ECO "C95"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Breyer, 10.d4"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Nb8 10. d4 *
+
+[ECO "C95"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Breyer, Borisenko variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Nb8 10. d4 Nbd7 *
+
+[ECO "C95"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Breyer, Gligoric variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Nb8 10. d4 Nbd7 11. Nbd2 Bb7 12. Bc2 c5 *
+
+[ECO "C95"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Breyer, Simagin variation"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Nb8 10. d4 Nbd7 11. Nh4 *
+
+[ECO "C96"]
+[Opening "Ruy Lopez"]
+[Variation "closed (8...Na5)"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Na5 10. Bc2 *
+
+[ECO "C96"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Rossolimo defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Na5 10. Bc2 c6 11. d4 Qc7 *
+
+[ECO "C96"]
+[Opening "Ruy Lopez"]
+[Variation "closed (10...c5)"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Na5 10. Bc2 c5 *
+
+[ECO "C96"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Borisenko defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Na5 10. Bc2 c5 11. d4 Nc6 *
+
+[ECO "C96"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Keres (...Nd7) defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Na5 10. Bc2 c5 11. d4 Nd7 *
+
+[ECO "C97"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Chigorin defence"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Na5 10. Bc2 c5 11. d4 Qc7 *
+
+[ECO "C97"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Chigorin, Yugoslav system"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Na5 10. Bc2 c5 11. d4 Qc7 12. Nbd2 Bd7 13. Nf1 Rfe8 14. Ne3 g6
+*
+
+[ECO "C98"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Chigorin, 12...Nc6"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Na5 10. Bc2 c5 11. d4 Qc7 12. Nbd2 Nc6 *
+
+[ECO "C98"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Chigorin, Rauzer attack"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Na5 10. Bc2 c5 11. d4 Qc7 12. Nbd2 Nc6 13. dxc5 *
+
+[ECO "C99"]
+[Opening "Ruy Lopez"]
+[Variation "closed, Chigorin, 12...c5d4"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
+c3 d6 9. h3 Na5 10. Bc2 c5 11. d4 Qc7 12. Nbd2 cxd4 13. cxd4 *
+
+[ECO "D00"]
+[Opening "Queen's pawn game"]
+
+1. d4 d5 *
+
+[ECO "D00"]
+[Opening "Queen's pawn, Mason variation"]
+
+1. d4 d5 2. Bf4 *
+
+[ECO "D00"]
+[Opening "Queen's pawn, Mason variation, Steinitz counter-gambit"]
+
+1. d4 d5 2. Bf4 c5 *
+
+[ECO "D00"]
+[Opening "Levitsky attack (Queen's bishop attack)"]
+
+1. d4 d5 2. Bg5 *
+
+[ECO "D00"]
+[Opening "Blackmar gambit"]
+
+1. d4 d5 2. e4 *
+
+[ECO "D00"]
+[Opening "Queen's pawn"]
+[Variation "stonewall attack"]
+
+1. d4 d5 2. e3 Nf6 3. Bd3 *
+
+[ECO "D00"]
+[Opening "Queen's pawn"]
+[Variation "Chigorin variation"]
+
+1. d4 d5 2. Nc3 *
+
+[ECO "D00"]
+[Opening "Queen's pawn"]
+[Variation "Anti-Veresov"]
+
+1. d4 d5 2. Nc3 Bg4 *
+
+[ECO "D00"]
+[Opening "Blackmar-Diemer gambit"]
+
+1. d4 d5 2. Nc3 Nf6 3. e4 *
+
+[ECO "D00"]
+[Opening "Blackmar-Diemer"]
+[Variation "Euwe defence"]
+
+1. d4 d5 2. Nc3 Nf6 3. e4 dxe4 4. f3 exf3 5. Nxf3 e6 *
+
+[ECO "D00"]
+[Opening "Blackmar-Diemer"]
+[Variation "Lemberg counter-gambit"]
+
+1. d4 d5 2. Nc3 Nf6 3. e4 e5 *
+
+[ECO "D01"]
+[Opening "Richter-Veresov attack"]
+
+1. d4 d5 2. Nc3 Nf6 3. Bg5 *
+
+[ECO "D01"]
+[Opening "Richter-Veresov attack, Veresov variation"]
+
+1. d4 d5 2. Nc3 Nf6 3. Bg5 Bf5 4. Bxf6 *
+
+[ECO "D01"]
+[Opening "Richter-Veresov attack, Richter variation"]
+
+1. d4 d5 2. Nc3 Nf6 3. Bg5 Bf5 4. f3 *
+
+[ECO "D02"]
+[Opening "Queen's pawn game"]
+
+1. d4 d5 2. Nf3 *
+
+[ECO "D02"]
+[Opening "Queen's pawn game, Chigorin variation"]
+
+1. d4 d5 2. Nf3 Nc6 *
+
+[ECO "D02"]
+[Opening "Queen's pawn game, Krause variation"]
+
+1. d4 d5 2. Nf3 c5 *
+
+[ECO "D02"]
+[Opening "Queen's pawn game"]
+
+1. d4 d5 2. Nf3 Nf6 *
+
+[ECO "D02"]
+[Opening "Queen's bishop game"]
+
+1. d4 d5 2. Nf3 Nf6 3. Bf4 *
+
+[ECO "D03"]
+[Opening "Torre attack (Tartakower variation)"]
+
+1. d4 d5 2. Nf3 Nf6 3. Bg5 *
+
+[ECO "D04"]
+[Opening "Queen's pawn game"]
+
+1. d4 d5 2. Nf3 Nf6 3. e3 *
+
+[ECO "D05"]
+[Opening "Queen's pawn game"]
+
+1. d4 d5 2. Nf3 Nf6 3. e3 e6 *
+
+[ECO "D05"]
+[Opening "Queen's pawn game, Zukertort variation"]
+
+1. d4 d5 2. Nf3 Nf6 3. e3 e6 4. Nbd2 c5 5. b3 *
+
+[ECO "D05"]
+[Opening "Queen's pawn game"]
+
+1. d4 d5 2. Nf3 Nf6 3. e3 e6 4. Bd3 *
+
+[ECO "D05"]
+[Opening "Queen's pawn game, Rubinstein (Colle-Zukertort) variation"]
+
+1. d4 d5 2. Nf3 Nf6 3. e3 e6 4. Bd3 c5 5. b3 *
+
+[ECO "D05"]
+[Opening "Colle system"]
+
+1. d4 d5 2. Nf3 Nf6 3. e3 e6 4. Bd3 c5 5. c3 *
+
+[ECO "D06"]
+[Opening "Queen's Gambit"]
+
+1. d4 d5 2. c4 *
+
+[ECO "D06"]
+[Opening "QGD"]
+[Variation "Grau (Sahovic) defence"]
+
+1. d4 d5 2. c4 Bf5 *
+
+[ECO "D06"]
+[Opening "QGD"]
+[Variation "Marshall defence"]
+
+1. d4 d5 2. c4 Nf6 *
+
+[ECO "D06"]
+[Opening "QGD"]
+[Variation "symmetrical (Austrian) defence"]
+
+1. d4 d5 2. c4 c5 *
+
+[ECO "D07"]
+[Opening "QGD"]
+[Variation "Chigorin defence"]
+
+1. d4 d5 2. c4 Nc6 *
+
+[ECO "D07"]
+[Opening "QGD"]
+[Variation "Chigorin defence, Janowski variation"]
+
+1. d4 d5 2. c4 Nc6 3. Nc3 dxc4 4. Nf3 *
+
+[ECO "D08"]
+[Opening "QGD"]
+[Variation "Albin counter-gambit"]
+
+1. d4 d5 2. c4 e5 *
+
+[ECO "D08"]
+[Opening "QGD"]
+[Variation "Albin counter-gambit, Lasker trap"]
+
+1. d4 d5 2. c4 e5 3. dxe5 d4 4. e3 Bb4+ 5. Bd2 dxe3 *
+
+[ECO "D08"]
+[Opening "QGD"]
+[Variation "Albin counter-gambit"]
+
+1. d4 d5 2. c4 e5 3. dxe5 d4 4. Nf3 *
+
+[ECO "D08"]
+[Opening "QGD"]
+[Variation "Albin counter-gambit, Alapin variation"]
+
+1. d4 d5 2. c4 e5 3. dxe5 d4 4. Nf3 Nc6 5. Nbd2 *
+
+[ECO "D08"]
+[Opening "QGD"]
+[Variation "Albin counter-gambit, Krenosz variation"]
+
+1. d4 d5 2. c4 e5 3. dxe5 d4 4. Nf3 Nc6 5. Nbd2 Bg4 6. h3 Bxf3 7. Nxf3 Bb4+
+8. Bd2 Qe7 *
+
+[ECO "D08"]
+[Opening "QGD"]
+[Variation "Albin counter-gambit, Janowski variation"]
+
+1. d4 d5 2. c4 e5 3. dxe5 d4 4. Nf3 Nc6 5. Nbd2 f6 *
+
+[ECO "D08"]
+[Opening "QGD"]
+[Variation "Albin counter-gambit, Balogh variation"]
+
+1. d4 d5 2. c4 e5 3. dxe5 d4 4. Nf3 Nc6 5. Nbd2 Qe7 *
+
+[ECO "D09"]
+[Opening "QGD"]
+[Variation "Albin counter-gambit, 5.g3"]
+
+1. d4 d5 2. c4 e5 3. dxe5 d4 4. Nf3 Nc6 5. g3 *
+
+[ECO "D10"]
+[Opening "QGD Slav defence"]
+
+1. d4 d5 2. c4 c6 *
+
+[ECO "D10"]
+[Opening "QGD Slav defence, Alekhine variation"]
+
+1. d4 d5 2. c4 c6 3. Nc3 dxc4 4. e4 *
+
+[ECO "D10"]
+[Opening "QGD Slav"]
+[Variation "Winawer counter-gambit"]
+
+1. d4 d5 2. c4 c6 3. Nc3 e5 *
+
+[ECO "D10"]
+[Opening "QGD Slav defence"]
+[Variation "exchange variation"]
+
+1. d4 d5 2. c4 c6 3. cxd5 *
+
+[ECO "D11"]
+[Opening "QGD Slav"]
+[Variation "3.Nf3"]
+
+1. d4 d5 2. c4 c6 3. Nf3 *
+
+[ECO "D11"]
+[Opening "QGD Slav"]
+[Variation "Breyer variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nbd2 *
+
+[ECO "D11"]
+[Opening "QGD Slav"]
+[Variation "4.e3"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. e3 *
+
+[ECO "D12"]
+[Opening "QGD Slav"]
+[Variation "4.e3 Bf5"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. e3 Bf5 *
+
+[ECO "D12"]
+[Opening "QGD Slav"]
+[Variation "Landau variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. e3 Bf5 5. cxd5 cxd5 6. Qb3 Qc8 7. Bd2 e6 8.
+Na3 *
+
+[ECO "D12"]
+[Opening "QGD Slav"]
+[Variation "exchange variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. e3 Bf5 5. cxd5 cxd5 6. Nc3 *
+
+[ECO "D12"]
+[Opening "QGD Slav"]
+[Variation "Amsterdam variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. e3 Bf5 5. cxd5 cxd5 6. Nc3 e6 7. Ne5 Nfd7 *
+
+[ECO "D13"]
+[Opening "QGD Slav"]
+[Variation "exchange variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. cxd5 cxd5 *
+
+[ECO "D14"]
+[Opening "QGD Slav"]
+[Variation "exchange variation, 6.Bf4 Bf5"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. cxd5 cxd5 5. Nc3 Nc6 6. Bf4 Bf5 *
+
+[ECO "D14"]
+[Opening "QGD Slav"]
+[Variation "exchange, Trifunovic variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. cxd5 cxd5 5. Nc3 Nc6 6. Bf4 Bf5 7. e3 e6 8.
+Qb3 Bb4 *
+
+[ECO "D15"]
+[Opening "QGD Slav"]
+[Variation "4.Nc3"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 *
+
+[ECO "D15"]
+[Opening "QGD Slav"]
+[Variation "Suechting variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 Qb6 *
+
+[ECO "D15"]
+[Opening "QGD Slav"]
+[Variation "Schlechter variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 g6 *
+
+[ECO "D15"]
+[Opening "QGD Slav accepted"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 *
+
+[ECO "D15"]
+[Opening "QGD Slav"]
+[Variation "5.e3 (Alekhine variation)"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 5. e3 *
+
+[ECO "D15"]
+[Opening "QGD Slav"]
+[Variation "Slav gambit"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 5. e4 *
+
+[ECO "D15"]
+[Opening "QGD Slav"]
+[Variation "Tolush-Geller gambit"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 5. e4 b5 6. e5 *
+
+[ECO "D16"]
+[Opening "QGD Slav accepted"]
+[Variation "Alapin variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 5. a4 *
+
+[ECO "D16"]
+[Opening "QGD Slav"]
+[Variation "Smyslov variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 5. a4 Na6 6. e4 Bg4 *
+
+[ECO "D16"]
+[Opening "QGD Slav"]
+[Variation "Soultanbeieff variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 5. a4 e6 *
+
+[ECO "D16"]
+[Opening "QGD Slav"]
+[Variation "Steiner variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 5. a4 Bg4 *
+
+[ECO "D17"]
+[Opening "QGD Slav"]
+[Variation "Czech defence"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 5. a4 Bf5 *
+
+[ECO "D17"]
+[Opening "QGD Slav"]
+[Variation "Krause attack"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 5. a4 Bf5 6. Ne5 *
+
+[ECO "D17"]
+[Opening "QGD Slav"]
+[Variation "Carlsbad variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 5. a4 Bf5 6. Ne5 Nbd7 7. Nxc4 Qc7
+8. g3 e5 *
+
+[ECO "D17"]
+[Opening "QGD Slav"]
+[Variation "Wiesbaden variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 5. a4 Bf5 6. Ne5 e6 *
+
+[ECO "D18"]
+[Opening "QGD Slav"]
+[Variation "Dutch variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 5. a4 Bf5 6. e3 *
+
+[ECO "D18"]
+[Opening "QGD Slav"]
+[Variation "Dutch, Lasker variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 5. a4 Bf5 6. e3 Na6 *
+
+[ECO "D19"]
+[Opening "QGD Slav"]
+[Variation "Dutch variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 5. a4 Bf5 6. e3 e6 7. Bxc4 Bb4 8.
+O-O *
+
+[ECO "D19"]
+[Opening "QGD Slav"]
+[Variation "Dutch variation, main line"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 5. a4 Bf5 6. e3 e6 7. Bxc4 Bb4 8.
+O-O O-O 9. Qe2 *
+
+[ECO "D19"]
+[Opening "QGD Slav"]
+[Variation "Dutch, Saemisch variation"]
+
+1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 dxc4 5. a4 Bf5 6. e3 e6 7. Bxc4 Bb4 8.
+O-O O-O 9. Qe2 Ne4 10. g4 *
+
+[ECO "D20"]
+[Opening "Queen's gambit accepted"]
+
+1. d4 d5 2. c4 dxc4 *
+
+[ECO "D20"]
+[Opening "QGA"]
+[Variation "3.e4"]
+
+1. d4 d5 2. c4 dxc4 3. e4 *
+
+[ECO "D20"]
+[Opening "QGA"]
+[Variation "Linares variation"]
+
+1. d4 d5 2. c4 dxc4 3. e4 c5 4. d5 Nf6 5. Nc3 b5 *
+
+[ECO "D20"]
+[Opening "QGA"]
+[Variation "Schwartz defence"]
+
+1. d4 d5 2. c4 dxc4 3. e4 f5 *
+
+[ECO "D21"]
+[Opening "QGA"]
+[Variation "3.Nf3"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 *
+
+[ECO "D21"]
+[Opening "QGA"]
+[Variation "Ericson variation"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 b5 *
+
+[ECO "D21"]
+[Opening "QGA"]
+[Variation "Alekhine defense, Borisenko-Furman variation"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 a6 4. e4 *
+
+[ECO "D22"]
+[Opening "QGA"]
+[Variation "Alekhine defence"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 a6 *
+
+[ECO "D22"]
+[Opening "QGA"]
+[Variation "Alekhine defence, Alatortsev variation"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 a6 4. e3 Bg4 5. Bxc4 e6 6. d5 *
+
+[ECO "D22"]
+[Opening "QGA"]
+[Variation "Haberditz variation"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 a6 4. e3 b5 *
+
+[ECO "D23"]
+[Opening "Queen's gambit accepted"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 *
+
+[ECO "D23"]
+[Opening "QGA"]
+[Variation "Mannheim variation"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. Qa4+ *
+
+[ECO "D24"]
+[Opening "QGA, 4.Nc3"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. Nc3 *
+
+[ECO "D24"]
+[Opening "QGA, Bogolyubov variation"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. Nc3 a6 5. e4 *
+
+[ECO "D25"]
+[Opening "QGA, 4.e3"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 *
+
+[ECO "D25"]
+[Opening "QGA, Smyslov variation"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 g6 *
+
+[ECO "D25"]
+[Opening "QGA, Janowsky-Larsen variation"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 Bg4 *
+
+[ECO "D25"]
+[Opening "QGA, Flohr variation"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 Be6 *
+
+[ECO "D26"]
+[Opening "QGA"]
+[Variation "4...e6"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 e6 *
+
+[ECO "D26"]
+[Opening "QGA"]
+[Variation "classical variation"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 e6 5. Bxc4 c5 *
+
+[ECO "D26"]
+[Opening "QGA"]
+[Variation "classical, Furman variation"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 e6 5. Bxc4 c5 6. Qe2 a6 7. dxc5 Bxc5 
+8. O-O Nc6 9. e4 b5 10. e5 *
+
+[ECO "D26"]
+[Opening "QGA"]
+[Variation "classical variation, 6.O-O"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 e6 5. Bxc4 c5 6. O-O *
+
+[ECO "D26"]
+[Opening "QGA"]
+[Variation "classical, Steinitz variation"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 e6 5. Bxc4 c5 6. O-O cxd4 *
+
+[ECO "D27"]
+[Opening "QGA"]
+[Variation "classical, 6...a6"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 e6 5. Bxc4 c5 6. O-O a6 *
+
+[ECO "D27"]
+[Opening "QGA"]
+[Variation "classical, Rubinstein variation"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 e6 5. Bxc4 c5 6. O-O a6 7. a4 *
+
+[ECO "D27"]
+[Opening "QGA"]
+[Variation "classical, Geller variation"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 e6 5. Bxc4 c5 6. O-O a6 7. e4 *
+
+[ECO "D28"]
+[Opening "QGA"]
+[Variation "classical, 7.Qe2"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 e6 5. Bxc4 c5 6. O-O a6 7. Qe2 *
+
+[ECO "D28"]
+[Opening "QGA"]
+[Variation "classical, 7...b5"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 e6 5. Bxc4 c5 6. O-O a6 7. Qe2 b5 *
+
+[ECO "D28"]
+[Opening "QGA"]
+[Variation "classical, Flohr variation"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 e6 5. Bxc4 c5 6. O-O a6 7. Qe2 b5 8. 
+Bb3 Nc6 9. Rd1 c4 10. Bc2 Nb4 11. Nc3 Nxc2 12. Qxc2 Bb7 13. d5 Qc7 *
+
+[ECO "D29"]
+[Opening "QGA"]
+[Variation "classical, 8...Bb7"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 e6 5. Bxc4 c5 6. O-O a6 7. Qe2 b5 8. 
+Bb3 Bb7 *
+
+[ECO "D29"]
+[Opening "QGA"]
+[Variation "classical, Smyslov variation"]
+
+1. d4 d5 2. c4 dxc4 3. Nf3 Nf6 4. e3 e6 5. Bxc4 c5 6. O-O a6 7. Qe2 b5 8. 
+Bb3 Bb7 9. Rd1 Nbd7 10. Nc3 Bd6 *
+
+[ECO "D30"]
+[Opening "Queen's gambit declined"]
+
+1. d4 d5 2. c4 e6 *
+
+[ECO "D30"]
+[Opening "QGD Slav"]
+
+1. d4 d5 2. c4 e6 3. Nf3 Nf6 4. e3 c6 5. Nbd2 *
+
+[ECO "D30"]
+[Opening "QGD"]
+[Variation "Stonewall variation"]
+
+1. d4 d5 2. c4 e6 3. Nf3 Nf6 4. e3 c6 5. Nbd2 Ne4 6. Bd3 f5 *
+
+[ECO "D30"]
+[Opening "QGD Slav"]
+
+1. d4 d5 2. c4 e6 3. Nf3 Nf6 4. e3 c6 5. Nbd2 Nbd7 *
+
+[ECO "D30"]
+[Opening "QGD Slav"]
+[Variation "Semmering variation"]
+
+1. d4 d5 2. c4 e6 3. Nf3 Nf6 4. e3 c6 5. Nbd2 Nbd7 6. Bd3 c5 *
+
+[ECO "D30"]
+[Opening "QGD"]
+[Variation "Spielmann variation"]
+
+1. d4 d5 2. c4 e6 3. Nf3 Nf6 4. e3 c6 5. Nbd2 g6 *
+
+[ECO "D30"]
+[Opening "QGD"]
+
+1. d4 d5 2. c4 e6 3. Nf3 Nf6 4. Bg5 *
+
+[ECO "D30"]
+[Opening "QGD"]
+[Variation "Capablanca variation"]
+
+1. d4 d5 2. c4 e6 3. Nf3 Nf6 4. Bg5 Nbd7 5. e3 c6 6. Nbd2 *
+
+[ECO "D30"]
+[Opening "QGD"]
+[Variation "Vienna variation"]
+
+1. d4 d5 2. c4 e6 3. Nf3 Nf6 4. Bg5 Bb4+ *
+
+[ECO "D30"]
+[Opening "QGD"]
+[Variation "Capablanca-Duras variation"]
+
+1. d4 d5 2. c4 e6 3. Nf3 Nf6 4. Bg5 h6 *
+
+[ECO "D30"]
+[Opening "QGD"]
+[Variation "Hastings variation"]
+
+1. d4 d5 2. c4 e6 3. Nf3 Nf6 4. Bg5 h6 5. Bxf6 Qxf6 6. Nc3 c6 7. Qb3 *
+
+[ECO "D31"]
+[Opening "QGD"]
+[Variation "3.Nc3"]
+
+1. d4 d5 2. c4 e6 3. Nc3 *
+
+[ECO "D31"]
+[Opening "QGD"]
+[Variation "Janowski variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 a6 *
+
+[ECO "D31"]
+[Opening "QGD"]
+[Variation "Alapin variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 b6 *
+
+[ECO "D31"]
+[Opening "QGD"]
+[Variation "Charousek (Petrosian) variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Be7 *
+
+[ECO "D31"]
+[Opening "QGD"]
+[Variation "semi-Slav"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c6 *
+
+[ECO "D31"]
+[Opening "QGD"]
+[Variation "semi-Slav, Noteboom variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c6 4. Nf3 dxc4 *
+
+[ECO "D31"]
+[Opening "QGD"]
+[Variation "semi-Slav, Koomen variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c6 4. Nf3 dxc4 5. a4 Bb4 6. e3 b5 7. Bd2 Qe7 *
+
+[ECO "D31"]
+[Opening "QGD"]
+[Variation "semi-Slav, Junge variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c6 4. Nf3 dxc4 5. a4 Bb4 6. e3 b5 7. Bd2 Qb6 *
+
+[ECO "D31"]
+[Opening "QGD"]
+[Variation "semi-Slav, Abrahams variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c6 4. Nf3 dxc4 5. a4 Bb4 6. e3 b5 7. Bd2 a5 *
+
+[ECO "D31"]
+[Opening "QGD"]
+[Variation "semi-Slav, Marshall gambit"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c6 4. e4 *
+
+[ECO "D32"]
+[Opening "QGD"]
+[Variation "Tarrasch defence"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 *
+
+[ECO "D32"]
+[Opening "QGD"]
+[Variation "Tarrasch, von Hennig-Schara gambit"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 cxd4 *
+
+[ECO "D32"]
+[Opening "QGD"]
+[Variation "Tarrasch defence, 4.cd ed"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 exd5 *
+
+[ECO "D32"]
+[Opening "QGD"]
+[Variation "Tarrasch defence, Tarrasch gambit"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 exd5 5. dxc5 d4 6. Na4 b5 *
+
+[ECO "D32"]
+[Opening "QGD"]
+[Variation "Tarrasch defence, Marshall gambit"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 exd5 5. e4 *
+
+[ECO "D32"]
+[Opening "QGD"]
+[Variation "Tarrasch defence"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 exd5 5. Nf3 *
+
+[ECO "D33"]
+[Opening "QGD"]
+[Variation "Tarrasch, Schlechter-Rubinstein system"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 exd5 5. Nf3 Nc6 6. g3 *
+
+[ECO "D33"]
+[Opening "QGD"]
+[Variation "Tarrasch, Folkestone (Swedish) variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 exd5 5. Nf3 Nc6 6. g3 c4 *
+
+[ECO "D33"]
+[Opening "QGD"]
+[Variation "Tarrasch, Schlechter-Rubinstein system, Rey Ardid variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 exd5 5. Nf3 Nc6 6. g3 c4 7. e4 *
+
+[ECO "D33"]
+[Opening "QGD"]
+[Variation "Tarrasch, Prague variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 exd5 5. Nf3 Nc6 6. g3 Nf6 *
+
+[ECO "D33"]
+[Opening "QGD"]
+[Variation "Tarrasch, Wagner variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 exd5 5. Nf3 Nc6 6. g3 Nf6 7. Bg2 Bg4 *
+
+[ECO "D34"]
+[Opening "QGD"]
+[Variation "Tarrasch, Prague variation, 7...Be7"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 exd5 5. Nf3 Nc6 6. g3 Nf6 7. Bg2 Be7 *
+
+[ECO "D34"]
+[Opening "QGD"]
+[Variation "Tarrasch, Prague variation, Normal position"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 exd5 5. Nf3 Nc6 6. g3 Nf6 7. Bg2 Be7 8.
+O-O O-O *
+
+[ECO "D34"]
+[Opening "QGD"]
+[Variation "Tarrasch, Reti variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 exd5 5. Nf3 Nc6 6. g3 Nf6 7. Bg2 Be7 8.
+O-O O-O 9. dxc5 Bxc5 10. Na4 *
+
+[ECO "D34"]
+[Opening "QGD"]
+[Variation "Tarrasch, Prague variation, 9.Bg5"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 exd5 5. Nf3 Nc6 6. g3 Nf6 7. Bg2 Be7 8.
+O-O O-O 9. Bg5 *
+
+[ECO "D34"]
+[Opening "QGD"]
+[Variation "Tarrasch, Bogolyubov variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 exd5 5. Nf3 Nc6 6. g3 Nf6 7. Bg2 Be7 8.
+O-O O-O 9. Bg5 Be6 10. Rc1 c4 *
+
+[ECO "D34"]
+[Opening "QGD"]
+[Variation "Tarrasch, Stoltz variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 exd5 5. Nf3 Nc6 6. g3 Nf6 7. Bg2 Be7 8.
+O-O O-O 9. Bg5 Be6 10. Rc1 b6 *
+
+[ECO "D35"]
+[Opening "QGD"]
+[Variation "3...Nf6"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 *
+
+[ECO "D35"]
+[Opening "QGD"]
+[Variation "Harrwitz attack"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bf4 *
+
+[ECO "D35"]
+[Opening "QGD"]
+[Variation "exchange variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. cxd5 *
+
+[ECO "D35"]
+[Opening "QGD"]
+[Variation "exchange, Saemisch variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. cxd5 exd5 5. Nf3 Nbd7 6. Bf4 *
+
+[ECO "D35"]
+[Opening "QGD"]
+[Variation "exchange, positional line"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. cxd5 exd5 5. Bg5 *
+
+[ECO "D35"]
+[Opening "QGD"]
+[Variation "exchange, chameleon variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. cxd5 exd5 5. Bg5 Be7 6. e3 O-O 7. Bd3 Nbd7
+8. Qc2 Re8 9. Nge2 Nf8 10. O-O-O *
+
+[ECO "D35"]
+[Opening "QGD"]
+[Variation "exchange, positional line, 5...c6"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. cxd5 exd5 5. Bg5 c6 *
+
+[ECO "D36"]
+[Opening "QGD"]
+[Variation "exchange, positional line, 6.Qc2"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. cxd5 exd5 5. Bg5 c6 6. Qc2 *
+
+[ECO "D37"]
+[Opening "QGD"]
+[Variation "4.Nf3"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 *
+
+[ECO "D37"]
+[Opening "QGD"]
+[Variation "classical variation (5.Bf4)"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 Be7 5. Bf4 *
+
+[ECO "D38"]
+[Opening "QGD"]
+[Variation "Ragozin variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 Bb4 *
+
+[ECO "D39"]
+[Opening "QGD"]
+[Variation "Ragozin, Vienna variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 Bb4 5. Bg5 dxc4 *
+
+[ECO "D40"]
+[Opening "QGD"]
+[Variation "Semi-Tarrasch defence"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c5 *
+
+[ECO "D40"]
+[Opening "QGD"]
+[Variation "Semi-Tarrasch, symmetrical variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c5 5. e3 Nc6 6. Bd3 Bd6 7. O-O O-O *
+
+[ECO "D40"]
+[Opening "QGD"]
+[Variation "Semi-Tarrasch, Levenfish variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c5 5. e3 Nc6 6. Bd3 Bd6 7. O-O O-O 8. 
+Qe2 Qe7 9. dxc5 Bxc5 10. e4 *
+
+[ECO "D40"]
+[Opening "QGD"]
+[Variation "Semi-Tarrasch defence, Pillsbury variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c5 5. Bg5 *
+
+[ECO "D41"]
+[Opening "QGD"]
+[Variation "Semi-Tarrasch, 5.cd"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c5 5. cxd5 *
+
+[ECO "D41"]
+[Opening "QGD"]
+[Variation "Semi-Tarrasch, Kmoch variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c5 5. cxd5 Nxd5 6. e4 Nxc3 7. bxc3 cxd4
+8. cxd4 Bb4+ 9. Bd2 Bxd2+ 10. Qxd2 O-O 11. Bb5 *
+
+[ECO "D41"]
+[Opening "QGD"]
+[Variation "Semi-Tarrasch, San Sebastian variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c5 5. cxd5 Nxd5 6. e4 Nxc3 7. bxc3 cxd4
+8. cxd4 Bb4+ 9. Bd2 Qa5 *
+
+[ECO "D41"]
+[Opening "QGD"]
+[Variation "Semi-Tarrasch with e3"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c5 5. cxd5 Nxd5 6. e3 *
+
+[ECO "D42"]
+[Opening "QGD"]
+[Variation "Semi-Tarrasch, 7.Bd3"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c5 5. cxd5 Nxd5 6. e3 Nc6 7. Bd3 *
+
+[ECO "D43"]
+[Opening "QGD semi-Slav"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 *
+
+[ECO "D43"]
+[Opening "QGD semi-Slav"]
+[Variation "Hastings variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. Bg5 h6 6. Bxf6 Qxf6 7. Qb3 *
+
+[ECO "D44"]
+[Opening "QGD semi-Slav"]
+[Variation "5.Bg5 dc"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. Bg5 dxc4 *
+
+[ECO "D44"]
+[Opening "QGD semi-Slav"]
+[Variation "Botvinnik system (anti-Meran)"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. Bg5 dxc4 6. e4 *
+
+[ECO "D44"]
+[Opening "QGD semi-Slav"]
+[Variation "Ekstrom variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. Bg5 dxc4 6. e4 b5 7. e5 h6 8. Bh4
+g5 9. exf6 gxh4 10. Ne5 *
+
+[ECO "D44"]
+[Opening "QGD semi-Slav"]
+[Variation "anti-Meran gambit"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. Bg5 dxc4 6. e4 b5 7. e5 h6 8. Bh4
+g5 9. Nxg5 *
+
+[ECO "D44"]
+[Opening "QGD semi-Slav"]
+[Variation "anti-Meran, Lilienthal variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. Bg5 dxc4 6. e4 b5 7. e5 h6 8. Bh4
+g5 9. Nxg5 hxg5 10. Bxg5 Nbd7 11. g3 *
+
+[ECO "D44"]
+[Opening "QGD semi-Slav"]
+[Variation "anti-Meran, Szabo variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. Bg5 dxc4 6. e4 b5 7. e5 h6 8. Bh4
+g5 9. Nxg5 hxg5 10. Bxg5 Nbd7 11. Qf3 *
+
+[ECO "D44"]
+[Opening "QGD semi-Slav"]
+[Variation "anti-Meran, Alatortsev system"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. Bg5 dxc4 6. e4 b5 7. e5 h6 8. Bh4
+g5 9. Nxg5 Nd5 *
+
+[ECO "D45"]
+[Opening "QGD semi-Slav"]
+[Variation "5.e3"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 *
+
+[ECO "D45"]
+[Opening "QGD semi-Slav"]
+[Variation "stonewall defence"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Ne4 6. Bd3 f5 *
+
+[ECO "D45"]
+[Opening "QGD semi-Slav"]
+[Variation "accelerated Meran (Alekhine variation)"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 a6 *
+
+[ECO "D45"]
+[Opening "QGD semi-Slav"]
+[Variation "5...Nd7"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 *
+
+[ECO "D45"]
+[Opening "QGD semi-Slav"]
+[Variation "Stoltz variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Qc2 *
+
+[ECO "D45"]
+[Opening "QGD semi-Slav"]
+[Variation "Rubinstein (anti-Meran) system"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Ne5 *
+
+[ECO "D46"]
+[Opening "QGD semi-Slav"]
+[Variation "6.Bd3"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 *
+
+[ECO "D46"]
+[Opening "QGD semi-Slav"]
+[Variation "Bogolyubov variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 Be7 *
+
+[ECO "D46"]
+[Opening "QGD semi-Slav"]
+[Variation "Romih variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 Bb4 *
+
+[ECO "D46"]
+[Opening "QGD semi-Slav"]
+[Variation "Chigorin defence"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 Bd6 *
+
+[ECO "D47"]
+[Opening "QGD semi-Slav"]
+[Variation "7.Bc4"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 dxc4 7. Bxc4 *
+
+[ECO "D47"]
+[Opening "QGD semi-Slav"]
+[Variation "Meran variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 dxc4 7. Bxc4 b5 *
+
+[ECO "D47"]
+[Opening "QGD semi-Slav"]
+[Variation "neo-Meran (Lundin variation)"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 dxc4 7. Bxc4 b5 8.
+Bd3 b4 *
+
+[ECO "D47"]
+[Opening "QGD semi-Slav"]
+[Variation "Meran, Wade variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 dxc4 7. Bxc4 b5 8.
+Bd3 Bb7 *
+
+[ECO "D48"]
+[Opening "QGD semi-Slav"]
+[Variation "Meran, 8...a6"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 dxc4 7. Bxc4 b5 8.
+Bd3 a6 *
+
+[ECO "D48"]
+[Opening "QGD semi-Slav"]
+[Variation "Meran, Pirc variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 dxc4 7. Bxc4 b5 8.
+Bd3 a6 9. e4 b4 *
+
+[ECO "D48"]
+[Opening "QGD semi-Slav"]
+[Variation "Meran"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 dxc4 7. Bxc4 b5 8.
+Bd3 a6 9. e4 c5 *
+
+[ECO "D48"]
+[Opening "QGD semi-Slav"]
+[Variation "Meran, Reynolds' variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 dxc4 7. Bxc4 b5 8.
+Bd3 a6 9. e4 c5 10. d5 *
+
+[ECO "D48"]
+[Opening "QGD semi-Slav"]
+[Variation "Meran, old main line"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 dxc4 7. Bxc4 b5 8.
+Bd3 a6 9. e4 c5 10. e5 *
+
+[ECO "D49"]
+[Opening "QGD semi-Slav"]
+[Variation "Meran, Blumenfeld variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 dxc4 7. Bxc4 b5 8.
+Bd3 a6 9. e4 c5 10. e5 cxd4 11. Nxb5 *
+
+[ECO "D49"]
+[Opening "QGD semi-Slav"]
+[Variation "Meran, Rabinovich variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 dxc4 7. Bxc4 b5 8.
+Bd3 a6 9. e4 c5 10. e5 cxd4 11. Nxb5 Ng4 *
+
+[ECO "D49"]
+[Opening "QGD semi-Slav"]
+[Variation "Meran, Sozin variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 dxc4 7. Bxc4 b5 8.
+Bd3 a6 9. e4 c5 10. e5 cxd4 11. Nxb5 Nxe5 *
+
+[ECO "D49"]
+[Opening "QGD semi-Slav"]
+[Variation "Meran, Stahlberg variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 dxc4 7. Bxc4 b5 8.
+Bd3 a6 9. e4 c5 10. e5 cxd4 11. Nxb5 Nxe5 12. Nxe5 axb5 13. Qf3 *
+
+[ECO "D49"]
+[Opening "QGD semi-Slav"]
+[Variation "Meran, Sozin variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 dxc4 7. Bxc4 b5 8.
+Bd3 a6 9. e4 c5 10. e5 cxd4 11. Nxb5 Nxe5 12. Nxe5 axb5 13. O-O *
+
+[ECO "D49"]
+[Opening "QGD semi-Slav"]
+[Variation "Meran, Rellstab attack"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Nf3 c6 5. e3 Nbd7 6. Bd3 dxc4 7. Bxc4 b5 8.
+Bd3 a6 9. e4 c5 10. e5 cxd4 11. Nxb5 Nxe5 12. Nxe5 axb5 13. O-O Qd5 14. Qe2
+Ba6 15. Bg5 *
+
+[ECO "D50"]
+[Opening "QGD"]
+[Variation "4.Bg5"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 *
+
+[ECO "D50"]
+[Opening "QGD"]
+[Variation "Been-Koomen variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 c5 *
+
+[ECO "D50"]
+[Opening "QGD"]
+[Variation "Semi-Tarrasch, Krause variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 c5 5. Nf3 cxd4 6. Nxd4 e5 7. Ndb5 a6 8.
+Qa4 *
+
+[ECO "D50"]
+[Opening "QGD"]
+[Variation "Semi-Tarrasch, Primitive Pillsbury variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 c5 5. Nf3 cxd4 6. Qxd4 *
+
+[ECO "D50"]
+[Opening "QGD"]
+[Variation "Semi-Tarrasch"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 c5 5. cxd5 *
+
+[ECO "D50"]
+[Opening "QGD"]
+[Variation "Canal (Venice) variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 c5 5. cxd5 Qb6 *
+
+[ECO "D51"]
+[Opening "QGD"]
+[Variation "4.Bg5 Nbd7"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Nbd7 *
+
+[ECO "D51"]
+[Opening "QGD"]
+[Variation "Rochlin variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Nbd7 5. Nf3 c6 6. Rc1 Qa5 7. Bd2 *
+
+[ECO "D51"]
+[Opening "QGD"]
+[Variation "Alekhine variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Nbd7 5. Nf3 c6 6. e4 *
+
+[ECO "D51"]
+[Opening "QGD"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Nbd7 5. e3 *
+
+[ECO "D51"]
+[Opening "QGD"]
+[Variation "Manhattan variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Nbd7 5. e3 Bb4 *
+
+[ECO "D51"]
+[Opening "QGD"]
+[Variation "5...c6"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Nbd7 5. e3 c6 *
+
+[ECO "D51"]
+[Opening "QGD"]
+[Variation "Capablanca anti-Cambridge Springs variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Nbd7 5. e3 c6 6. a3 *
+
+[ECO "D52"]
+[Opening "QGD"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Nbd7 5. e3 c6 6. Nf3 *
+
+[ECO "D52"]
+[Opening "QGD"]
+[Variation "Cambridge Springs defence"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Nbd7 5. e3 c6 6. Nf3 Qa5 *
+
+[ECO "D52"]
+[Opening "QGD"]
+[Variation "Cambridge Springs defence, Bogoljubow variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Nbd7 5. e3 c6 6. Nf3 Qa5 7. Nd2 Bb4 8.
+Qc2 *
+
+[ECO "D52"]
+[Opening "QGD"]
+[Variation "Cambridge Springs defence, Argentine variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Nbd7 5. e3 c6 6. Nf3 Qa5 7. Nd2 Bb4 8.
+Qc2 O-O 9. Bh4 *
+
+[ECO "D52"]
+[Opening "QGD"]
+[Variation "Cambridge Springs defence, Rubinstein variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Nbd7 5. e3 c6 6. Nf3 Qa5 7. Nd2 dxc4 *
+
+[ECO "D52"]
+[Opening "QGD"]
+[Variation "Cambridge Springs defence, Capablanca variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Nbd7 5. e3 c6 6. Nf3 Qa5 7. Bxf6 *
+
+[ECO "D52"]
+[Opening "QGD"]
+[Variation "Cambridge Springs defence, 7.cd"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Nbd7 5. e3 c6 6. Nf3 Qa5 7. cxd5 *
+
+[ECO "D52"]
+[Opening "QGD"]
+[Variation "Cambridge Springs defence, Yugoslav variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Nbd7 5. e3 c6 6. Nf3 Qa5 7. cxd5 Nxd5 *
+
+[ECO "D53"]
+[Opening "QGD"]
+[Variation "4.Bg5 Be7"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 *
+
+[ECO "D53"]
+[Opening "QGD"]
+[Variation "Lasker variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 Ne4 *
+
+[ECO "D53"]
+[Opening "QGD"]
+[Variation "4.Bg5 Be7, 5.e3 O-O"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O *
+
+[ECO "D54"]
+[Opening "QGD"]
+[Variation "Anti-neo-orthodox variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Rc1 *
+
+[ECO "D55"]
+[Opening "QGD"]
+[Variation "6.Nf3"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 *
+
+[ECO "D55"]
+[Opening "QGD"]
+[Variation "Pillsbury attack"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 b6 7. Bd3 Bb7 8. 
+cxd5 exd5 9. Ne5 *
+
+[ECO "D55"]
+[Opening "QGD"]
+[Variation "Neo-orthodox variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 h6 *
+
+[ECO "D55"]
+[Opening "QGD"]
+[Variation "Neo-orthodox variation, 7.Bxf6"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 h6 7. Bxf6 *
+
+[ECO "D55"]
+[Opening "QGD"]
+[Variation "Petrosian variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 h6 7. Bxf6 Bxf6 8.
+Rc1 c6 9. Bd3 Nd7 10. O-O dxc4 11. Bxc4 *
+
+[ECO "D55"]
+[Opening "QGD"]
+[Variation "Neo-orthodox variation, 7.Bh4"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 h6 7. Bh4 *
+
+[ECO "D56"]
+[Opening "QGD"]
+[Variation "Lasker defence"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 h6 7. Bh4 Ne4 *
+
+[ECO "D56"]
+[Opening "QGD"]
+[Variation "Lasker defence, Teichmann variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 h6 7. Bh4 Ne4 8. 
+Bxe7 Qxe7 9. Qc2 *
+
+[ECO "D56"]
+[Opening "QGD"]
+[Variation "Lasker defence, Russian variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 h6 7. Bh4 Ne4 8. 
+Bxe7 Qxe7 9. Qc2 Nf6 10. Bd3 dxc4 11. Bxc4 c5 12. O-O Nc6 13. Rfd1 Bd7 *
+
+[ECO "D57"]
+[Opening "QGD"]
+[Variation "Lasker defence, main line"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 h6 7. Bh4 Ne4 8. 
+Bxe7 Qxe7 9. cxd5 Nxc3 10. bxc3 *
+
+[ECO "D57"]
+[Opening "QGD"]
+[Variation "Lasker defence, Bernstein variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 h6 7. Bh4 Ne4 8. 
+Bxe7 Qxe7 9. cxd5 Nxc3 10. bxc3 exd5 11. Qb3 Qd6 *
+
+[ECO "D58"]
+[Opening "QGD"]
+[Variation "Tartakower (Makagonov-Bondarevsky) system"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 h6 7. Bh4 b6 *
+
+[ECO "D59"]
+[Opening "QGD"]
+[Variation "Tartakower (Makagonov-Bondarevsky) system, 8.cd Nxd5"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 h6 7. Bh4 b6 8. 
+cxd5 Nxd5 *
+
+[ECO "D59"]
+[Opening "QGD"]
+[Variation "Tartakower variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 h6 7. Bh4 b6 8. 
+cxd5 Nxd5 9. Bxe7 Qxe7 10. Nxd5 exd5 11. Rc1 Be6 *
+
+[ECO "D60"]
+[Opening "QGD"]
+[Variation "Orthodox defence"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 *
+
+[ECO "D60"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Botvinnik variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Bd3 *
+
+[ECO "D60"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Rauzer variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Qb3 *
+
+[ECO "D61"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Rubinstein variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Qc2 *
+
+[ECO "D62"]
+[Opening "QGD"]
+[Variation "Orthodox defence, 7.Qc2 c5, 8.cd (Rubinstein)"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Qc2 c5 8.
+cxd5 *
+
+[ECO "D63"]
+[Opening "QGD"]
+[Variation "Orthodox defence, 7.Rc1"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 *
+
+[ECO "D63"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Pillsbury attack"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 b6 8.
+cxd5 exd5 9. Bd3 *
+
+[ECO "D63"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Capablanca variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 b6 8.
+cxd5 exd5 9. Bb5 *
+
+[ECO "D63"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Swiss (Henneberger) variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 a6 *
+
+[ECO "D63"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Swiss, Karlsbad variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 a6 8.
+cxd5 *
+
+[ECO "D63"]
+[Opening "QGD"]
+[Variation "Orthodox defence"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 *
+
+[ECO "D64"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Rubinstein attack (with Rc1)"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 8.
+Qc2 *
+
+[ECO "D64"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Rubinstein attack, Wolf variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 8.
+Qc2 Ne4 *
+
+[ECO "D64"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Rubinstein attack, Karlsbad variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 8.
+Qc2 a6 *
+
+[ECO "D64"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Rubinstein attack, Gruenfeld variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 8.
+Qc2 a6 9. a3 *
+
+[ECO "D65"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Rubinstein attack, main line"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 8.
+Qc2 a6 9. cxd5 *
+
+[ECO "D66"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Bd3 line"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 8.
+Bd3 *
+
+[ECO "D66"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Bd3 line, fianchetto variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 8.
+Bd3 dxc4 9. Bxc4 b5 *
+
+[ECO "D67"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Bd3 line, Capablanca freeing manoevre"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 8.
+Bd3 dxc4 9. Bxc4 Nd5 *
+
+[ECO "D67"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Bd3 line, Janowski variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 8.
+Bd3 dxc4 9. Bxc4 Nd5 10. h4 *
+
+[ECO "D67"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Bd3 line"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 8.
+Bd3 dxc4 9. Bxc4 Nd5 10. Bxe7 Qxe7 *
+
+[ECO "D67"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Bd3 line, Alekhine variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 8.
+Bd3 dxc4 9. Bxc4 Nd5 10. Bxe7 Qxe7 11. Ne4 *
+
+[ECO "D67"]
+[Opening "QGD"]
+[Variation "Orthodox defence, Bd3 line, 11.O-O"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 8.
+Bd3 dxc4 9. Bxc4 Nd5 10. Bxe7 Qxe7 11. O-O *
+
+[ECO "D68"]
+[Opening "QGD"]
+[Variation "Orthodox defence, classical variation"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 8.
+Bd3 dxc4 9. Bxc4 Nd5 10. Bxe7 Qxe7 11. O-O Nxc3 12. Rxc3 e5 *
+
+[ECO "D68"]
+[Opening "QGD"]
+[Variation "Orthodox defence, classical, 13.d1b1 (Maroczy)"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 8.
+Bd3 dxc4 9. Bxc4 Nd5 10. Bxe7 Qxe7 11. O-O Nxc3 12. Rxc3 e5 13. Qb1 *
+
+[ECO "D68"]
+[Opening "QGD"]
+[Variation "Orthodox defence, classical, 13.d1c2 (Vidmar)"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 8.
+Bd3 dxc4 9. Bxc4 Nd5 10. Bxe7 Qxe7 11. O-O Nxc3 12. Rxc3 e5 13. Qc2 *
+
+[ECO "D69"]
+[Opening "QGD"]
+[Variation "Orthodox defence, classical, 13.de"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3 O-O 6. Nf3 Nbd7 7. Rc1 c6 8.
+Bd3 dxc4 9. Bxc4 Nd5 10. Bxe7 Qxe7 11. O-O Nxc3 12. Rxc3 e5 13. dxe5 Nxe5 
+14. Nxe5 Qxe5 *
+
+[ECO "D70"]
+[Opening "Neo-Gruenfeld defence"]
+
+1. d4 Nf6 2. c4 g6 3. f3 d5 *
+
+[ECO "D70"]
+[Opening "Neo-Gruenfeld (Kemeri) defence"]
+
+1. d4 Nf6 2. c4 g6 3. g3 d5 *
+
+[ECO "D71"]
+[Opening "Neo-Gruenfeld, 5.cd"]
+
+1. d4 Nf6 2. c4 g6 3. g3 d5 4. Bg2 Bg7 5. cxd5 Nxd5 *
+
+[ECO "D72"]
+[Opening "Neo-Gruenfeld, 5.cd, main line"]
+
+1. d4 Nf6 2. c4 g6 3. g3 d5 4. Bg2 Bg7 5. cxd5 Nxd5 6. e4 Nb6 7. Ne2 *
+
+[ECO "D73"]
+[Opening "Neo-Gruenfeld, 5.Nf3"]
+
+1. d4 Nf6 2. c4 g6 3. g3 d5 4. Bg2 Bg7 5. Nf3 *
+
+[ECO "D74"]
+[Opening "Neo-Gruenfeld, 6.cd Nxd5, 7.O-O"]
+
+1. d4 Nf6 2. c4 g6 3. g3 d5 4. Bg2 Bg7 5. Nf3 O-O 6. cxd5 Nxd5 7. O-O *
+
+[ECO "D75"]
+[Opening "Neo-Gruenfeld, 6.cd Nxd5, 7.O-O c5, 8.Nc3"]
+
+1. d4 Nf6 2. c4 g6 3. g3 d5 4. Bg2 Bg7 5. Nf3 O-O 6. cxd5 Nxd5 7. O-O c5 8.
+Nc3 *
+
+[ECO "D75"]
+[Opening "Neo-Gruenfeld, 6.cd Nxd5, 7.O-O c5, 8.dc"]
+
+1. d4 Nf6 2. c4 g6 3. g3 d5 4. Bg2 Bg7 5. Nf3 O-O 6. cxd5 Nxd5 7. O-O c5 8.
+dxc5 *
+
+[ECO "D76"]
+[Opening "Neo-Gruenfeld, 6.cd Nxd5, 7.O-O Nb6"]
+
+1. d4 Nf6 2. c4 g6 3. g3 d5 4. Bg2 Bg7 5. Nf3 O-O 6. cxd5 Nxd5 7. O-O Nb6 *
+
+[ECO "D77"]
+[Opening "Neo-Gruenfeld, 6.O-O"]
+
+1. d4 Nf6 2. c4 g6 3. g3 d5 4. Bg2 Bg7 5. Nf3 O-O 6. O-O *
+
+[ECO "D78"]
+[Opening "Neo-Gruenfeld, 6.O-O c6"]
+
+1. d4 Nf6 2. c4 g6 3. g3 d5 4. Bg2 Bg7 5. Nf3 O-O 6. O-O c6 *
+
+[ECO "D79"]
+[Opening "Neo-Gruenfeld, 6.O-O, main line"]
+
+1. d4 Nf6 2. c4 g6 3. g3 d5 4. Bg2 Bg7 5. Nf3 O-O 6. O-O c6 7. cxd5 cxd5 *
+
+[ECO "D80"]
+[Opening "Gruenfeld defence"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 *
+
+[ECO "D80"]
+[Opening "Gruenfeld"]
+[Variation "Spike gambit"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. g4 *
+
+[ECO "D80"]
+[Opening "Gruenfeld"]
+[Variation "Stockholm variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Bg5 *
+
+[ECO "D80"]
+[Opening "Gruenfeld"]
+[Variation "Lundin variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Bg5 Ne4 5. Nxe4 dxe4 6. Qd2 c5 *
+
+[ECO "D81"]
+[Opening "Gruenfeld"]
+[Variation "Russian variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Qb3 *
+
+[ECO "D82"]
+[Opening "Gruenfeld"]
+[Variation "4.Bf4"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Bf4 *
+
+[ECO "D83"]
+[Opening "Gruenfeld"]
+[Variation "Gruenfeld gambit"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Bf4 Bg7 5. e3 O-O *
+
+[ECO "D83"]
+[Opening "Gruenfeld"]
+[Variation "Gruenfeld gambit, Capablanca variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Bf4 Bg7 5. e3 O-O 6. Rc1 *
+
+[ECO "D83"]
+[Opening "Gruenfeld"]
+[Variation "Gruenfeld gambit, Botvinnik variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Bf4 Bg7 5. e3 O-O 6. Rc1 c5 7. dxc5 Be6 *
+
+[ECO "D84"]
+[Opening "Gruenfeld"]
+[Variation "Gruenfeld gambit accepted"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Bf4 Bg7 5. e3 O-O 6. cxd5 Nxd5 7. Nxd5 Qxd5
+8. Bxc7 *
+
+[ECO "D85"]
+[Opening "Gruenfeld"]
+[Variation "exchange variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. cxd5 Nxd5 *
+
+[ECO "D85"]
+[Opening "Gruenfeld"]
+[Variation "modern exchange variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. cxd5 Nxd5 5. e4 Nxc3 6. bxc3 Bg7 7. Nf3 *
+
+[ECO "D86"]
+[Opening "Gruenfeld"]
+[Variation "exchange, classical variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. cxd5 Nxd5 5. e4 Nxc3 6. bxc3 Bg7 7. Bc4 *
+
+[ECO "D86"]
+[Opening "Gruenfeld"]
+[Variation "exchange, Larsen variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. cxd5 Nxd5 5. e4 Nxc3 6. bxc3 Bg7 7. Bc4 O-O
+8. Ne2 Qd7 9. O-O b6 *
+
+[ECO "D86"]
+[Opening "Gruenfeld"]
+[Variation "exchange, Simagin's lesser variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. cxd5 Nxd5 5. e4 Nxc3 6. bxc3 Bg7 7. Bc4 O-O
+8. Ne2 b6 *
+
+[ECO "D86"]
+[Opening "Gruenfeld"]
+[Variation "exchange, Simagin's improved variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. cxd5 Nxd5 5. e4 Nxc3 6. bxc3 Bg7 7. Bc4 O-O
+8. Ne2 Nc6 *
+
+[ECO "D87"]
+[Opening "Gruenfeld"]
+[Variation "exchange, Spassky variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. cxd5 Nxd5 5. e4 Nxc3 6. bxc3 Bg7 7. Bc4 O-O
+8. Ne2 c5 *
+
+[ECO "D87"]
+[Opening "Gruenfeld"]
+[Variation "exchange, Seville variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. cxd5 Nxd5 5. e4 Nxc3 6. bxc3 Bg7 7. Bc4 O-O
+8. Ne2 c5 9. O-O Nc6 10. Be3 Bg4 11. f3 Na5 12. Bxf7+ *
+
+[ECO "D88"]
+[Opening "Gruenfeld"]
+[Variation "Spassky variation, main line, 10...cd, 11.cd"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. cxd5 Nxd5 5. e4 Nxc3 6. bxc3 Bg7 7. Bc4 O-O
+8. Ne2 c5 9. O-O Nc6 10. Be3 cxd4 11. cxd4 *
+
+[ECO "D89"]
+[Opening "Gruenfeld"]
+[Variation "Spassky variation, main line, 13.Bd3"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. cxd5 Nxd5 5. e4 Nxc3 6. bxc3 Bg7 7. Bc4 O-O
+8. Ne2 c5 9. O-O Nc6 10. Be3 cxd4 11. cxd4 Bg4 12. f3 Na5 13. Bd3 Be6 *
+
+[ECO "D89"]
+[Opening "Gruenfeld"]
+[Variation "exchange, Sokolsky variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. cxd5 Nxd5 5. e4 Nxc3 6. bxc3 Bg7 7. Bc4 O-O
+8. Ne2 c5 9. O-O Nc6 10. Be3 cxd4 11. cxd4 Bg4 12. f3 Na5 13. Bd3 Be6 14. 
+d5 *
+
+[ECO "D90"]
+[Opening "Gruenfeld"]
+[Variation "Three knights variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 *
+
+[ECO "D90"]
+[Opening "Gruenfeld"]
+[Variation "Schlechter variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 c6 *
+
+[ECO "D90"]
+[Opening "Gruenfeld"]
+[Variation "Three knights variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 *
+
+[ECO "D90"]
+[Opening "Gruenfeld"]
+[Variation "Flohr variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. Qa4+ *
+
+[ECO "D91"]
+[Opening "Gruenfeld"]
+[Variation "5.Bg5"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. Bg5 *
+
+[ECO "D92"]
+[Opening "Gruenfeld"]
+[Variation "5.Bf4"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. Bf4 *
+
+[ECO "D93"]
+[Opening "Gruenfeld with Bf4    e3"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. Bf4 O-O 6. e3 *
+
+[ECO "D94"]
+[Opening "Gruenfeld"]
+[Variation "5.e3"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. e3 *
+
+[ECO "D94"]
+[Opening "Gruenfeld"]
+[Variation "Makogonov variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. e3 O-O 6. b4 *
+
+[ECO "D94"]
+[Opening "Gruenfeld"]
+[Variation "Opovcensky variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. e3 O-O 6. Bd2 *
+
+[ECO "D94"]
+[Opening "Gruenfeld with e3    Bd3"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. e3 O-O 6. Bd3 *
+
+[ECO "D94"]
+[Opening "Gruenfeld"]
+[Variation "Smyslov defence"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. e3 O-O 6. Bd3 c6 7. O-O Bg4 *
+
+[ECO "D94"]
+[Opening "Gruenfeld"]
+[Variation "Flohr defence"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. e3 O-O 6. Bd3 c6 7. O-O Bf5 *
+
+[ECO "D95"]
+[Opening "Gruenfeld with e3 & Qb3"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. e3 O-O 6. Qb3 *
+
+[ECO "D95"]
+[Opening "Gruenfeld"]
+[Variation "Botvinnik variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. e3 O-O 6. Qb3 e6 *
+
+[ECO "D95"]
+[Opening "Gruenfeld"]
+[Variation "Pachman variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. e3 O-O 6. Qb3 dxc4 7. Bxc4 Nbd7
+8. Ng5 *
+
+[ECO "D96"]
+[Opening "Gruenfeld"]
+[Variation "Russian variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. Qb3 *
+
+[ECO "D97"]
+[Opening "Gruenfeld"]
+[Variation "Russian variation with e4"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. Qb3 dxc4 6. Qxc4 O-O 7. e4 *
+
+[ECO "D97"]
+[Opening "Gruenfeld"]
+[Variation "Russian, Alekhine (Hungarian) variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. Qb3 dxc4 6. Qxc4 O-O 7. e4 a6 *
+
+[ECO "D97"]
+[Opening "Gruenfeld"]
+[Variation "Russian, Szabo (Boleslavsky) variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. Qb3 dxc4 6. Qxc4 O-O 7. e4 c6 *
+
+[ECO "D97"]
+[Opening "Gruenfeld"]
+[Variation "Russian, Levenfish variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. Qb3 dxc4 6. Qxc4 O-O 7. e4 b6 *
+
+[ECO "D97"]
+[Opening "Gruenfeld"]
+[Variation "Russian, Byrne (Simagin) variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. Qb3 dxc4 6. Qxc4 O-O 7. e4 Nc6 *
+
+[ECO "D97"]
+[Opening "Gruenfeld"]
+[Variation "Russian, Prins variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. Qb3 dxc4 6. Qxc4 O-O 7. e4 Na6 *
+
+[ECO "D98"]
+[Opening "Gruenfeld"]
+[Variation "Russian, Smyslov variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. Qb3 dxc4 6. Qxc4 O-O 7. e4 Bg4 *
+
+[ECO "D98"]
+[Opening "Gruenfeld"]
+[Variation "Russian, Keres variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. Qb3 dxc4 6. Qxc4 O-O 7. e4 Bg4 
+8. Be3 Nfd7 9. Be2 Nb6 10. Qd3 Nc6 11. O-O-O *
+
+[ECO "D99"]
+[Opening "Gruenfeld defence"]
+[Variation "Smyslov, main line"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. Qb3 dxc4 6. Qxc4 O-O 7. e4 Bg4 
+8. Be3 Nfd7 9. Qb3 *
+
+[ECO "D99"]
+[Opening "Gruenfeld defence"]
+[Variation "Smyslov, Yugoslav variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. Qb3 dxc4 6. Qxc4 O-O 7. e4 Bg4 
+8. Be3 Nfd7 9. Qb3 c5 *
+
+[ECO "E00"]
+[Opening "Queen's pawn game"]
+
+1. d4 Nf6 2. c4 e6 *
+
+[ECO "E00"]
+[Opening "Neo-Indian (Seirawan) attack"]
+
+1. d4 Nf6 2. c4 e6 3. Bg5 *
+
+[ECO "E00"]
+[Opening "Catalan opening"]
+
+1. d4 Nf6 2. c4 e6 3. g3 *
+
+[ECO "E01"]
+[Opening "Catalan"]
+[Variation "closed"]
+
+1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 *
+
+[ECO "E02"]
+[Opening "Catalan"]
+[Variation "open, 5.Qa4"]
+
+1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 dxc4 5. Qa4+ *
+
+[ECO "E03"]
+[Opening "Catalan"]
+[Variation "open, Alekhine variation"]
+
+1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 dxc4 5. Qa4+ Nbd7 6. Qxc4 a6 7. Qc2 *
+
+[ECO "E03"]
+[Opening "Catalan"]
+[Variation "open, 5.Qa4 Nbd7, 6.Qxc4"]
+
+1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 dxc4 5. Qa4+ Nbd7 6. Qxc4 *
+
+[ECO "E04"]
+[Opening "Catalan"]
+[Variation "open, 5.Nf3"]
+
+1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 dxc4 5. Nf3 *
+
+[ECO "E05"]
+[Opening "Catalan"]
+[Variation "open, classical line"]
+
+1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 dxc4 5. Nf3 Be7 *
+
+[ECO "E06"]
+[Opening "Catalan"]
+[Variation "closed, 5.Nf3"]
+
+1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 Be7 5. Nf3 *
+
+[ECO "E07"]
+[Opening "Catalan"]
+[Variation "closed, 6...Nbd7"]
+
+1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 Be7 5. Nf3 O-O 6. O-O Nbd7 *
+
+[ECO "E07"]
+[Opening "Catalan"]
+[Variation "closed, Botvinnik variation"]
+
+1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 Be7 5. Nf3 O-O 6. O-O Nbd7 7. Nc3 c6 8.
+Qd3 *
+
+[ECO "E08"]
+[Opening "Catalan"]
+[Variation "closed, 7.Qc2"]
+
+1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 Be7 5. Nf3 O-O 6. O-O Nbd7 7. Qc2 *
+
+[ECO "E08"]
+[Opening "Catalan"]
+[Variation "closed, Zagoryansky variation"]
+
+1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 Be7 5. Nf3 O-O 6. O-O Nbd7 7. Qc2 c6 8.
+Rd1 b6 9. a4 *
+
+[ECO "E08"]
+[Opening "Catalan"]
+[Variation "closed, Qc2 & b3"]
+
+1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 Be7 5. Nf3 O-O 6. O-O Nbd7 7. Qc2 c6 8.
+b3 *
+
+[ECO "E08"]
+[Opening "Catalan"]
+[Variation "closed, Spassky gambit"]
+
+1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 Be7 5. Nf3 O-O 6. O-O Nbd7 7. Qc2 c6 8.
+b3 b6 9. Rd1 Bb7 10. Nc3 b5 *
+
+[ECO "E09"]
+[Opening "Catalan"]
+[Variation "closed, main line"]
+
+1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 Be7 5. Nf3 O-O 6. O-O Nbd7 7. Qc2 c6 8.
+Nbd2 *
+
+[ECO "E09"]
+[Opening "Catalan"]
+[Variation "closed, Sokolsky variation"]
+
+1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 Be7 5. Nf3 O-O 6. O-O Nbd7 7. Qc2 c6 8.
+Nbd2 b6 9. b3 a5 10. Bb2 Ba6 *
+
+[ECO "E10"]
+[Opening "Queen's pawn game"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 *
+
+[ECO "E10"]
+[Opening "Blumenfeld counter-gambit"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 c5 4. d5 b5 *
+
+[ECO "E10"]
+[Opening "Blumenfeld counter-gambit accepted"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 c5 4. d5 b5 5. dxe6 fxe6 6. cxb5 d5 *
+
+[ECO "E10"]
+[Opening "Blumenfeld counter-gambit, Dus-Chotimursky variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 c5 4. d5 b5 5. Bg5 *
+
+[ECO "E10"]
+[Opening "Blumenfeld counter-gambit, Spielmann variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 c5 4. d5 b5 5. Bg5 exd5 6. cxd5 h6 *
+
+[ECO "E10"]
+[Opening "Dzindzikhashvili defence"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 a6 *
+
+[ECO "E10"]
+[Opening "Doery defence"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 Ne4 *
+
+[ECO "E11"]
+[Opening "Bogo-Indian defence"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 Bb4+ *
+
+[ECO "E11"]
+[Opening "Bogo-Indian defence, Gruenfeld variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 Bb4+ 4. Nbd2 *
+
+[ECO "E11"]
+[Opening "Bogo-Indian defence, Nimzovich variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 Bb4+ 4. Bd2 Qe7 *
+
+[ECO "E11"]
+[Opening "Bogo-Indian defence, Monticelli trap"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 Bb4+ 4. Bd2 Bxd2+ 5. Qxd2 b6 6. g3 Bb7 7. Bg2 O-O
+8. Nc3 Ne4 9. Qc2 Nxc3 10. Ng5 *
+
+[ECO "E12"]
+[Opening "Queen's Indian defence"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 *
+
+[ECO "E12"]
+[Opening "Queen's Indian"]
+[Variation "Miles variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. Bf4 *
+
+[ECO "E12"]
+[Opening "Queen's Indian"]
+[Variation "Petrosian system"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. a3 *
+
+[ECO "E12"]
+[Opening "Queen's Indian"]
+[Variation "4.Nc3"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. Nc3 *
+
+[ECO "E12"]
+[Opening "Queen's Indian"]
+[Variation "4.Nc3, Botvinnik variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. Nc3 Bb7 5. Bg5 h6 6. Bh4 g5 7. Bg3 Nh5 *
+
+[ECO "E13"]
+[Opening "Queen's Indian"]
+[Variation "4.Nc3, main line"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. Nc3 Bb7 5. Bg5 h6 6. Bh4 Bb4 *
+
+[ECO "E14"]
+[Opening "Queen's Indian"]
+[Variation "4.e3"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. e3 *
+
+[ECO "E14"]
+[Opening "Queen's Indian"]
+[Variation "Averbakh variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. e3 Bb7 5. Bd3 c5 6. O-O Be7 7. b3 O-O 8. 
+Bb2 cxd4 9. Nxd4 *
+
+[ECO "E15"]
+[Opening "Queen's Indian"]
+[Variation "4.g3"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 *
+
+[ECO "E15"]
+[Opening "Queen's Indian"]
+[Variation "Nimzovich variation (exaggerated fianchetto)"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 Ba6 *
+
+[ECO "E15"]
+[Opening "Queen's Indian"]
+[Variation "4.g3 Bb7"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 Bb7 *
+
+[ECO "E15"]
+[Opening "Queen's Indian"]
+[Variation "Rubinstein variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 Bb7 5. Bg2 c5 6. d5 exd5 7. Nh4 *
+
+[ECO "E15"]
+[Opening "Queen's Indian"]
+[Variation "Buerger variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 Bb7 5. Bg2 c5 6. d5 exd5 7. Ng5 *
+
+[ECO "E16"]
+[Opening "Queen's Indian"]
+[Variation "Capablanca variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 Bb7 5. Bg2 Bb4+ *
+
+[ECO "E16"]
+[Opening "Queen's Indian"]
+[Variation "Yates variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 Bb7 5. Bg2 Bb4+ 6. Bd2 a5 *
+
+[ECO "E16"]
+[Opening "Queen's Indian"]
+[Variation "Riumin variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 Bb7 5. Bg2 Bb4+ 6. Bd2 Be7 *
+
+[ECO "E17"]
+[Opening "Queen's Indian"]
+[Variation "5.Bg2 Be7"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 Bb7 5. Bg2 Be7 *
+
+[ECO "E17"]
+[Opening "Queen's Indian"]
+[Variation "anti-Queen's Indian system"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 Bb7 5. Bg2 Be7 6. Nc3 *
+
+[ECO "E17"]
+[Opening "Queen's Indian"]
+[Variation "Opovcensky variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 Bb7 5. Bg2 Be7 6. Nc3 Ne4 7. Bd2 *
+
+[ECO "E17"]
+[Opening "Queen's Indian"]
+[Variation "old main line, 6.O-O"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 Bb7 5. Bg2 Be7 6. O-O *
+
+[ECO "E17"]
+[Opening "Queen's Indian"]
+[Variation "Euwe variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 Bb7 5. Bg2 Be7 6. O-O O-O 7. b3 *
+
+[ECO "E18"]
+[Opening "Queen's Indian"]
+[Variation "old main line, 7.Nc3"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 Bb7 5. Bg2 Be7 6. O-O O-O 7. Nc3 *
+
+[ECO "E19"]
+[Opening "Queen's Indian"]
+[Variation "old main line, 9.Qxc3"]
+
+1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 Bb7 5. Bg2 Be7 6. O-O O-O 7. Nc3 Ne4 8.
+Qc2 Nxc3 9. Qxc3 *
+
+[ECO "E20"]
+[Opening "Nimzo-Indian defence"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 *
+
+[ECO "E20"]
+[Opening "Nimzo-Indian"]
+[Variation "Kmoch variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. f3 *
+
+[ECO "E20"]
+[Opening "Nimzo-Indian"]
+[Variation "Mikenas attack"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qd3 *
+
+[ECO "E20"]
+[Opening "Nimzo-Indian"]
+[Variation "Romanishin-Kasparov (Steiner) system"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. g3 *
+
+[ECO "E21"]
+[Opening "Nimzo-Indian"]
+[Variation "three knights variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Nf3 *
+
+[ECO "E21"]
+[Opening "Nimzo-Indian"]
+[Variation "three knights, Korchnoi variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Nf3 c5 5. d5 *
+
+[ECO "E21"]
+[Opening "Nimzo-Indian"]
+[Variation "three knights, Euwe variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Nf3 c5 5. d5 Ne4 *
+
+[ECO "E22"]
+[Opening "Nimzo-Indian"]
+[Variation "Spielmann variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qb3 *
+
+[ECO "E23"]
+[Opening "Nimzo-Indian"]
+[Variation "Spielmann, 4...c5, 5.dc Nc6"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qb3 c5 5. dxc5 Nc6 *
+
+[ECO "E23"]
+[Opening "Nimzo-Indian"]
+[Variation "Spielmann, Karlsbad variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qb3 c5 5. dxc5 Nc6 6. Nf3 Ne4 7. Bd2 Nxd2
+*
+
+[ECO "E23"]
+[Opening "Nimzo-Indian"]
+[Variation "Spielmann, San Remo variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qb3 c5 5. dxc5 Nc6 6. Nf3 Ne4 7. Bd2 Nxc5
+*
+
+[ECO "E23"]
+[Opening "Nimzo-Indian"]
+[Variation "Spielmann, Staahlberg variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qb3 c5 5. dxc5 Nc6 6. Nf3 Ne4 7. Bd2 Nxc5
+8. Qc2 f5 9. g3 *
+
+[ECO "E24"]
+[Opening "Nimzo-Indian"]
+[Variation "Saemisch variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. a3 Bxc3+ 5. bxc3 *
+
+[ECO "E24"]
+[Opening "Nimzo-Indian"]
+[Variation "Saemisch, Botvinnik variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. a3 Bxc3+ 5. bxc3 c5 6. f3 d5 7. e3 O-O 8.
+cxd5 Nxd5 *
+
+[ECO "E25"]
+[Opening "Nimzo-Indian"]
+[Variation "Saemisch variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. a3 Bxc3+ 5. bxc3 c5 6. f3 d5 7. cxd5 *
+
+[ECO "E25"]
+[Opening "Nimzo-Indian"]
+[Variation "Saemisch, Keres variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. a3 Bxc3+ 5. bxc3 c5 6. f3 d5 7. cxd5 Nxd5
+8. dxc5 *
+
+[ECO "E25"]
+[Opening "Nimzo-Indian"]
+[Variation "Saemisch, Romanovsky variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. a3 Bxc3+ 5. bxc3 c5 6. f3 d5 7. cxd5 Nxd5
+8. dxc5 f5 *
+
+[ECO "E26"]
+[Opening "Nimzo-Indian"]
+[Variation "Saemisch variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. a3 Bxc3+ 5. bxc3 c5 6. e3 *
+
+[ECO "E26"]
+[Opening "Nimzo-Indian"]
+[Variation "Saemisch, O'Kelly variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. a3 Bxc3+ 5. bxc3 c5 6. e3 b6 *
+
+[ECO "E27"]
+[Opening "Nimzo-Indian"]
+[Variation "Saemisch variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. a3 Bxc3+ 5. bxc3 O-O *
+
+[ECO "E28"]
+[Opening "Nimzo-Indian"]
+[Variation "Saemisch variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. a3 Bxc3+ 5. bxc3 O-O 6. e3 *
+
+[ECO "E29"]
+[Opening "Nimzo-Indian"]
+[Variation "Saemisch, main line"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. a3 Bxc3+ 5. bxc3 O-O 6. e3 c5 7. Bd3 Nc6 *
+
+[ECO "E29"]
+[Opening "Nimzo-Indian"]
+[Variation "Saemisch, Capablanca variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. a3 Bxc3+ 5. bxc3 O-O 6. e3 c5 7. Bd3 Nc6 
+8. Ne2 b6 9. e4 Ne8 *
+
+[ECO "E30"]
+[Opening "Nimzo-Indian"]
+[Variation "Leningrad variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Bg5 *
+
+[ECO "E30"]
+[Opening "Nimzo-Indian"]
+[Variation "Leningrad, ...b5 gambit"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Bg5 h6 5. Bh4 c5 6. d5 b5 *
+
+[ECO "E31"]
+[Opening "Nimzo-Indian"]
+[Variation "Leningrad, main line"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Bg5 h6 5. Bh4 c5 6. d5 d6 *
+
+[ECO "E32"]
+[Opening "Nimzo-Indian"]
+[Variation "classical variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qc2 *
+
+[ECO "E32"]
+[Opening "Nimzo-Indian"]
+[Variation "classical, Adorjan gambit"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qc2 O-O 5. a3 Bxc3+ 6. Qxc3 b5 *
+
+[ECO "E33"]
+[Opening "Nimzo-Indian"]
+[Variation "classical, 4...Nc6"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qc2 Nc6 *
+
+[ECO "E33"]
+[Opening "Nimzo-Indian"]
+[Variation "classical, Milner-Barry (Zurich) variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qc2 Nc6 5. Nf3 d6 *
+
+[ECO "E34"]
+[Opening "Nimzo-Indian"]
+[Variation "classical, Noa variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qc2 d5 *
+
+[ECO "E35"]
+[Opening "Nimzo-Indian"]
+[Variation "classical, Noa variation, 5.cd ed"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qc2 d5 5. cxd5 exd5 *
+
+[ECO "E36"]
+[Opening "Nimzo-Indian"]
+[Variation "classical, Noa variation, 5.a3"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qc2 d5 5. a3 *
+
+[ECO "E36"]
+[Opening "Nimzo-Indian"]
+[Variation "classical, Botvinnik variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qc2 d5 5. a3 Bxc3+ 6. Qxc3 Nc6 *
+
+[ECO "E36"]
+[Opening "Nimzo-Indian"]
+[Variation "classical, Noa variation, main line"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qc2 d5 5. a3 Bxc3+ 6. Qxc3 Ne4 *
+
+[ECO "E37"]
+[Opening "Nimzo-Indian"]
+[Variation "classical, Noa variation, main line, 7.Qc2"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qc2 d5 5. a3 Bxc3+ 6. Qxc3 Ne4 7. Qc2 *
+
+[ECO "E37"]
+[Opening "Nimzo-Indian"]
+[Variation "classical, San Remo variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qc2 d5 5. a3 Bxc3+ 6. Qxc3 Ne4 7. Qc2 Nc6
+8. e3 e5 *
+
+[ECO "E38"]
+[Opening "Nimzo-Indian"]
+[Variation "classical, 4...c5"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qc2 c5 *
+
+[ECO "E39"]
+[Opening "Nimzo-Indian"]
+[Variation "classical, Pirc variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qc2 c5 5. dxc5 O-O *
+
+[ECO "E40"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 *
+
+[ECO "E40"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3, Taimanov variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 Nc6 *
+
+[ECO "E41"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3 c5"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 c5 *
+
+[ECO "E41"]
+[Opening "Nimzo-Indian"]
+[Variation "e3, Huebner variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 c5 5. Bd3 Nc6 6. Nf3 Bxc3+ 7. bxc3 d6 *
+
+[ECO "E42"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3 c5, 5.Ne2 (Rubinstein)"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 c5 5. Ne2 *
+
+[ECO "E43"]
+[Opening "Nimzo-Indian"]
+[Variation "Fischer variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 b6 *
+
+[ECO "E44"]
+[Opening "Nimzo-Indian"]
+[Variation "Fischer variation, 5.Ne2"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 b6 5. Ne2 *
+
+[ECO "E45"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3, Bronstein (Byrne) variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 b6 5. Ne2 Ba6 *
+
+[ECO "E46"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3 O-O"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O *
+
+[ECO "E46"]
+[Opening "Nimzo-Indian"]
+[Variation "Reshevsky variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Ne2 *
+
+[ECO "E46"]
+[Opening "Nimzo-Indian"]
+[Variation "Simagin variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Ne2 d5 6. a3 Bd6 *
+
+[ECO "E47"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3 O-O, 5.Bd3"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Bd3 *
+
+[ECO "E48"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3 O-O, 5.Bd3 d5"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Bd3 d5 *
+
+[ECO "E49"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3, Botvinnik system"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Bd3 d5 6. a3 Bxc3+ 7. bxc3 *
+
+[ECO "E50"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3 e8g8, 5.Nf3, without ...d5"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Nf3 *
+
+[ECO "E51"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3 e8g8, 5.Nf3 d7d5"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Nf3 d5 *
+
+[ECO "E51"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3, Ragozin variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Nf3 d5 6. Bd3 Nc6 7. O-O dxc4 *
+
+[ECO "E52"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3, main line with ...b6"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Nf3 d5 6. Bd3 b6 *
+
+[ECO "E53"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3, main line with ...c5"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Nf3 d5 6. Bd3 c5 *
+
+[ECO "E53"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3, Keres variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Nf3 d5 6. Bd3 c5 7. O-O b6 *
+
+[ECO "E53"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3, Gligoric system with 7...Nbd7"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Nf3 d5 6. Bd3 c5 7. O-O Nbd7 *
+
+[ECO "E54"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3, Gligoric system with 7...dc"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Nf3 d5 6. Bd3 c5 7. O-O dxc4 8.
+Bxc4 *
+
+[ECO "E54"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3, Gligoric system, Smyslov variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Nf3 d5 6. Bd3 c5 7. O-O dxc4 8.
+Bxc4 Qe7 *
+
+[ECO "E55"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3, Gligoric system, Bronstein variation"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Nf3 d5 6. Bd3 c5 7. O-O dxc4 8.
+Bxc4 Nbd7 *
+
+[ECO "E56"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3, main line with 7...Nc6"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Nf3 d5 6. Bd3 c5 7. O-O Nc6 *
+
+[ECO "E57"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3, main line with 8...dc and 9...cd"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Nf3 d5 6. Bd3 c5 7. O-O Nc6 8. 
+a3 dxc4 9. Bxc4 cxd4 *
+
+[ECO "E58"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3, main line with 8...Bxc3"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Nf3 d5 6. Bd3 c5 7. O-O Nc6 8. 
+a3 Bxc3 9. bxc3 *
+
+[ECO "E59"]
+[Opening "Nimzo-Indian"]
+[Variation "4.e3, main line"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 O-O 5. Nf3 d5 6. Bd3 c5 7. O-O Nc6 8. 
+a3 Bxc3 9. bxc3 dxc4 10. Bxc4 *
+
+[ECO "E60"]
+[Opening "King's Indian defence"]
+
+1. d4 Nf6 2. c4 g6 *
+
+[ECO "E60"]
+[Opening "King's Indian, 3.Nf3"]
+
+1. d4 Nf6 2. c4 g6 3. Nf3 *
+
+[ECO "E60"]
+[Opening "Queen's pawn"]
+[Variation "Mengarini attack"]
+
+1. d4 Nf6 2. c4 g6 3. Qc2 *
+
+[ECO "E60"]
+[Opening "King's Indian"]
+[Variation "Anti-Gruenfeld"]
+
+1. d4 Nf6 2. c4 g6 3. d5 *
+
+[ECO "E60"]
+[Opening "King's Indian"]
+[Variation "Danube gambit"]
+
+1. d4 Nf6 2. c4 g6 3. d5 b5 *
+
+[ECO "E60"]
+[Opening "King's Indian"]
+[Variation "3.g3"]
+
+1. d4 Nf6 2. c4 g6 3. g3 *
+
+[ECO "E60"]
+[Opening "King's Indian"]
+[Variation "3.g3, counterthrust variation"]
+
+1. d4 Nf6 2. c4 g6 3. g3 Bg7 4. Bg2 d5 *
+
+[ECO "E61"]
+[Opening "King's Indian defence, 3.Nc3"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 *
+
+[ECO "E61"]
+[Opening "King's Indian"]
+[Variation "Smyslov system"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. Nf3 d6 5. Bg5 *
+
+[ECO "E62"]
+[Opening "King's Indian"]
+[Variation "fianchetto variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. Nf3 d6 5. g3 *
+
+[ECO "E62"]
+[Opening "King's Indian"]
+[Variation "fianchetto, Larsen system"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. Nf3 d6 5. g3 O-O 6. Bg2 c6 7. O-O Bf5 *
+
+[ECO "E62"]
+[Opening "King's Indian"]
+[Variation "fianchetto, Kavalek (Bronstein) variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. Nf3 d6 5. g3 O-O 6. Bg2 c6 7. O-O Qa5 *
+
+[ECO "E62"]
+[Opening "King's Indian"]
+[Variation "fianchetto with ...Nc6"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. Nf3 d6 5. g3 O-O 6. Bg2 Nc6 *
+
+[ECO "E62"]
+[Opening "King's Indian"]
+[Variation "fianchetto, Uhlmann (Szabo) variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. Nf3 d6 5. g3 O-O 6. Bg2 Nc6 7. O-O e5 *
+
+[ECO "E62"]
+[Opening "King's Indian"]
+[Variation "fianchetto, lesser Simagin (Spassky) variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. Nf3 d6 5. g3 O-O 6. Bg2 Nc6 7. O-O Bf5 *
+
+[ECO "E62"]
+[Opening "King's Indian"]
+[Variation "fianchetto, Simagin variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. Nf3 d6 5. g3 O-O 6. Bg2 Nc6 7. O-O Bg4 *
+
+[ECO "E63"]
+[Opening "King's Indian"]
+[Variation "fianchetto, Panno variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. Nf3 d6 5. g3 O-O 6. Bg2 Nc6 7. O-O a6 *
+
+[ECO "E64"]
+[Opening "King's Indian"]
+[Variation "fianchetto, Yugoslav system"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. Nf3 d6 5. g3 O-O 6. Bg2 c5 *
+
+[ECO "E65"]
+[Opening "King's Indian"]
+[Variation "fianchetto, Yugoslav, 7.O-O"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. Nf3 d6 5. g3 O-O 6. Bg2 c5 7. O-O *
+
+[ECO "E66"]
+[Opening "King's Indian"]
+[Variation "fianchetto, Yugoslav Panno"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. Nf3 d6 5. g3 O-O 6. Bg2 c5 7. O-O Nc6 8. 
+d5 *
+
+[ECO "E67"]
+[Opening "King's Indian"]
+[Variation "fianchetto with ...Nd7"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. Nf3 d6 5. g3 O-O 6. Bg2 Nbd7 *
+
+[ECO "E67"]
+[Opening "King's Indian"]
+[Variation "fianchetto, classical variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. Nf3 d6 5. g3 O-O 6. Bg2 Nbd7 7. O-O e5 *
+
+[ECO "E68"]
+[Opening "King's Indian"]
+[Variation "fianchetto, classical variation, 8.e4"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. Nf3 d6 5. g3 O-O 6. Bg2 Nbd7 7. O-O e5 8.
+e4 *
+
+[ECO "E69"]
+[Opening "King's Indian"]
+[Variation "fianchetto, classical main line"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. Nf3 d6 5. g3 O-O 6. Bg2 Nbd7 7. O-O e5 8.
+e4 c6 9. h3 *
+
+[ECO "E70"]
+[Opening "King's Indian"]
+[Variation "4.e4"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 *
+
+[ECO "E70"]
+[Opening "King's Indian"]
+[Variation "Kramer system"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nge2 *
+
+[ECO "E70"]
+[Opening "King's Indian"]
+[Variation "accelerated Averbakh system"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Bg5 *
+
+[ECO "E71"]
+[Opening "King's Indian"]
+[Variation "Makagonov system (5.h3)"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. h3 *
+
+[ECO "E72"]
+[Opening "King's Indian with e4 & g3"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. g3 *
+
+[ECO "E72"]
+[Opening "King's Indian"]
+[Variation "Pomar system"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. g3 O-O 6. Bg2 e5 7. Nge2 *
+
+[ECO "E73"]
+[Opening "King's Indian"]
+[Variation "5.Be2"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Be2 *
+
+[ECO "E73"]
+[Opening "King's Indian"]
+[Variation "Semi-Averbakh system"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Be2 O-O 6. Be3 *
+
+[ECO "E73"]
+[Opening "King's Indian"]
+[Variation "Averbakh system"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Be2 O-O 6. Bg5 *
+
+[ECO "E74"]
+[Opening "King's Indian"]
+[Variation "Averbakh, 6...c5"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Be2 O-O 6. Bg5 c5 *
+
+[ECO "E75"]
+[Opening "King's Indian"]
+[Variation "Averbakh, main line"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Be2 O-O 6. Bg5 c5 7. d5 e6 *
+
+[ECO "E76"]
+[Opening "King's Indian"]
+[Variation "Four pawns attack"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f4 *
+
+[ECO "E76"]
+[Opening "King's Indian"]
+[Variation "Four pawns attack, dynamic line"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f4 O-O 6. Nf3 c5 7. d5 *
+
+[ECO "E77"]
+[Opening "King's Indian"]
+[Variation "Four pawns attack, 6.Be2"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f4 O-O 6. Be2 *
+
+[ECO "E77"]
+[Opening "King's Indian"]
+[Variation "Six pawns attack"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f4 O-O 6. Be2 c5 7. d5 e6 8. dxe6
+fxe6 9. g4 Nc6 10. h4 *
+
+[ECO "E77"]
+[Opening "King's Indian"]
+[Variation "Four pawns attack"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f4 O-O 6. Be2 c5 7. d5 e6 8. Nf3
+*
+
+[ECO "E77"]
+[Opening "King's Indian"]
+[Variation "Four pawns attack, Florentine gambit"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f4 O-O 6. Be2 c5 7. d5 e6 8. Nf3
+exd5 9. e5 *
+
+[ECO "E78"]
+[Opening "King's Indian"]
+[Variation "Four pawns attack, with Be2 and Nf3"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f4 O-O 6. Be2 c5 7. Nf3 *
+
+[ECO "E79"]
+[Opening "King's Indian"]
+[Variation "Four pawns attack, main line"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f4 O-O 6. Be2 c5 7. Nf3 cxd4 8. 
+Nxd4 Nc6 9. Be3 *
+
+[ECO "E80"]
+[Opening "King's Indian"]
+[Variation "Saemisch variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f3 *
+
+[ECO "E81"]
+[Opening "King's Indian"]
+[Variation "Saemisch, 5...O-O"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f3 O-O *
+
+[ECO "E81"]
+[Opening "King's Indian"]
+[Variation "Saemisch, Byrne variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f3 O-O 6. Be3 c6 7. Bd3 a6 *
+
+[ECO "E82"]
+[Opening "King's Indian"]
+[Variation "Saemisch, double fianchetto variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f3 O-O 6. Be3 b6 *
+
+[ECO "E83"]
+[Opening "King's Indian"]
+[Variation "Saemisch, 6...Nc6"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f3 O-O 6. Be3 Nc6 *
+
+[ECO "E83"]
+[Opening "King's Indian"]
+[Variation "Saemisch, Ruban variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f3 O-O 6. Be3 Nc6 7. Nge2 Rb8 *
+
+[ECO "E83"]
+[Opening "King's Indian"]
+[Variation "Saemisch, Panno formation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f3 O-O 6. Be3 Nc6 7. Nge2 a6 *
+
+[ECO "E84"]
+[Opening "King's Indian"]
+[Variation "Saemisch, Panno main line"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f3 O-O 6. Be3 Nc6 7. Nge2 a6 8. 
+Qd2 Rb8 *
+
+[ECO "E85"]
+[Opening "King's Indian"]
+[Variation "Saemisch, orthodox variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f3 O-O 6. Be3 e5 *
+
+[ECO "E86"]
+[Opening "King's Indian"]
+[Variation "Saemisch, orthodox, 7.Nge2 c6"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f3 O-O 6. Be3 e5 7. Nge2 c6 *
+
+[ECO "E87"]
+[Opening "King's Indian"]
+[Variation "Saemisch, orthodox, 7.d5"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f3 O-O 6. Be3 e5 7. d5 *
+
+[ECO "E87"]
+[Opening "King's Indian"]
+[Variation "Saemisch, orthodox, Bronstein variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f3 O-O 6. Be3 e5 7. d5 Nh5 8. Qd2
+Qh4+ 9. g3 Nxg3 10. Qf2 Nxf1 11. Qxh4 Nxe3 12. Ke2 Nxc4 *
+
+[ECO "E88"]
+[Opening "King's Indian"]
+[Variation "Saemisch, orthodox, 7.d5 c6"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f3 O-O 6. Be3 e5 7. d5 c6 *
+
+[ECO "E89"]
+[Opening "King's Indian"]
+[Variation "Saemisch, orthodox main line"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. f3 O-O 6. Be3 e5 7. d5 c6 8. Nge2
+cxd5 *
+
+[ECO "E90"]
+[Opening "King's Indian"]
+[Variation "5.Nf3"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 *
+
+[ECO "E90"]
+[Opening "King's Indian"]
+[Variation "Larsen variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be3 *
+
+[ECO "E90"]
+[Opening "King's Indian"]
+[Variation "Zinnowitz variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Bg5 *
+
+[ECO "E91"]
+[Opening "King's Indian"]
+[Variation "6.Be2"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 *
+
+[ECO "E91"]
+[Opening "King's Indian"]
+[Variation "Kazakh variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 Na6 *
+
+[ECO "E92"]
+[Opening "King's Indian"]
+[Variation "classical variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 *
+
+[ECO "E92"]
+[Opening "King's Indian"]
+[Variation "Andersson variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. dxe5 *
+
+[ECO "E92"]
+[Opening "King's Indian"]
+[Variation "Gligoric-Taimanov system"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. Be3 *
+
+[ECO "E92"]
+[Opening "King's Indian"]
+[Variation "Petrosian system"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. d5 *
+
+[ECO "E92"]
+[Opening "King's Indian"]
+[Variation "Petrosian system, Stein variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. d5 a5 *
+
+[ECO "E93"]
+[Opening "King's Indian"]
+[Variation "Petrosian system, main line"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. d5 Nbd7 *
+
+[ECO "E93"]
+[Opening "King's Indian"]
+[Variation "Petrosian system, Keres variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. d5 Nbd7 8. 
+Bg5 h6 9. Bh4 g5 10. Bg3 Nh5 11. h4 *
+
+[ECO "E94"]
+[Opening "King's Indian"]
+[Variation "orthodox variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. O-O *
+
+[ECO "E94"]
+[Opening "King's Indian"]
+[Variation "orthodox, Donner variation"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. O-O c6 *
+
+[ECO "E94"]
+[Opening "King's Indian"]
+[Variation "orthodox, 7...Nbd7"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. O-O Nbd7 *
+
+[ECO "E95"]
+[Opening "King's Indian"]
+[Variation "orthodox, 7...Nbd7, 8.Re1"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. O-O Nbd7 8.
+Re1 *
+
+[ECO "E96"]
+[Opening "King's Indian"]
+[Variation "orthodox, 7...Nbd7, main line"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. O-O Nbd7 8.
+Re1 c6 9. Bf1 a5 *
+
+[ECO "E97"]
+[Opening "King's Indian"]
+[Variation "orthodox, Aronin-Taimanov variation (Yugoslav attack / Mar del Plata variation)"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. O-O Nc6 *
+
+[ECO "E97"]
+[Opening "King's Indian"]
+[Variation "orthodox, Aronin-Taimanov, bayonet attack"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. O-O Nc6 8. 
+d5 Ne7 9. b4 *
+
+[ECO "E98"]
+[Opening "King's Indian"]
+[Variation "orthodox, Aronin-Taimanov, 9.Ne1"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. O-O Nc6 8. 
+d5 Ne7 9. Ne1 *
+
+[ECO "E99"]
+[Opening "King's Indian"]
+[Variation "orthodox, Aronin-Taimanov, main line"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. O-O Nc6 8. 
+d5 Ne7 9. Ne1 Nd7 10. f3 f5 *
+
+[ECO "E99"]
+[Opening "King's Indian"]
+[Variation "orthodox, Aronin-Taimanov, Benko attack"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. O-O Nc6 8. 
+d5 Ne7 9. Ne1 Nd7 10. f3 f5 11. g4 *
+
diff --git a/book/twic-9g.bin b/book/twic-9g.bin
# file too large to diff: book/twic-9g.bin
diff --git a/chessIO.cabal b/chessIO.cabal
--- a/chessIO.cabal
+++ b/chessIO.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 3fcf399df92e8a53a4f22341832c3dc5a45222618873d4edd74b61fca3a35598
+-- hash: 58ed029b69d3e53603aa5e6f7cdac0fb58c1971595e47e3aba37cb0cfc6ac07f
 
 name:           chessIO
-version:        0.6.1.1
+version:        0.7.0.0
 synopsis:       Basic chess library
 description:    A simple and fast library for generating legal chess moves. Also includes a module for communication with external processes that speak the UCI (Universal Chess Interface) protocol, a PGN parser/pretty printer, and Polyglot opening book support. On top of that, provides a console frontend program (cboard) that can be used to interactively play against UCI engines, and a terminal program (cbookview) to explore commonly played chess openings.
 category:       Game
@@ -15,13 +15,14 @@
 bug-reports:    https://github.com/mlang/chessIO/issues
 author:         Mario Lang
 maintainer:     mlang@blind.guru
-copyright:      2020 Mario Lang
+copyright:      2021 Mario Lang
 license:        BSD3
 license-file:   LICENSE
 build-type:     Simple
 extra-source-files:
     README.md
     CHANGELOG.md
+    book/eco.pgn
     book/twic-9g.bin
 
 source-repository head
@@ -31,6 +32,7 @@
 library
   exposed-modules:
       Game.Chess
+      Game.Chess.ECO
       Game.Chess.PGN
       Game.Chess.Polyglot
       Game.Chess.SAN
@@ -38,6 +40,7 @@
       Game.Chess.UCI
   other-modules:
       Game.Chess.Internal
+      Game.Chess.Internal.ECO
       Game.Chess.Internal.QuadBitboard
       Game.Chess.Internal.Square
       Game.Chess.Polyglot.Hash
@@ -49,6 +52,7 @@
       BinaryLiterals
       BlockArguments
       DeriveGeneric
+      DeriveLift
       FlexibleContexts
       FlexibleInstances
       GeneralizedNewtypeDeriving
@@ -72,17 +76,25 @@
     , binary
     , bytestring
     , containers
+    , deepseq
     , extra
     , file-embed
+    , hashable
+    , lens
     , megaparsec >=9.0
+    , mono-traversable
     , o-clock
     , prettyprinter
     , process
     , random
     , stm
+    , template-haskell
     , text
+    , th-lift-instances
     , unordered-containers
     , vector
+    , vector-binary-instances
+    , vector-instances
   default-language: Haskell2010
 
 executable cboard
@@ -96,6 +108,7 @@
       BinaryLiterals
       BlockArguments
       DeriveGeneric
+      DeriveLift
       FlexibleContexts
       FlexibleInstances
       GeneralizedNewtypeDeriving
@@ -120,19 +133,27 @@
     , bytestring
     , chessIO
     , containers
+    , deepseq
     , extra
     , file-embed
+    , hashable
     , haskeline
+    , lens
     , megaparsec >=9.0
+    , mono-traversable
     , mtl
     , o-clock
     , prettyprinter
     , process
     , random
     , stm
+    , template-haskell
     , text
+    , th-lift-instances
     , unordered-containers
     , vector
+    , vector-binary-instances
+    , vector-instances
   default-language: Haskell2010
 
 executable cbookview
@@ -146,6 +167,7 @@
       BinaryLiterals
       BlockArguments
       DeriveGeneric
+      DeriveLift
       FlexibleContexts
       FlexibleInstances
       GeneralizedNewtypeDeriving
@@ -171,21 +193,27 @@
     , bytestring
     , chessIO
     , containers
+    , deepseq
     , extra
     , file-embed
     , filepath
+    , hashable
+    , lens
     , megaparsec >=9.0
-    , microlens
-    , microlens-th
+    , mono-traversable
     , o-clock
     , prettyprinter
     , process
     , random
     , rosezipper
     , stm
+    , template-haskell
     , text
+    , th-lift-instances
     , unordered-containers
     , vector
+    , vector-binary-instances
+    , vector-instances
     , vty
   default-language: Haskell2010
 
@@ -200,6 +228,7 @@
       BinaryLiterals
       BlockArguments
       DeriveGeneric
+      DeriveLift
       FlexibleContexts
       FlexibleInstances
       GeneralizedNewtypeDeriving
@@ -224,19 +253,27 @@
     , bytestring
     , chessIO
     , containers
+    , deepseq
     , extra
     , file-embed
+    , hashable
+    , lens
     , megaparsec >=9.0
+    , mono-traversable
     , o-clock
     , optparse-applicative
     , prettyprinter
     , process
     , random
     , stm
+    , template-haskell
     , text
+    , th-lift-instances
     , time
     , unordered-containers
     , vector
+    , vector-binary-instances
+    , vector-instances
   default-language: Haskell2010
 
 test-suite perft
@@ -251,6 +288,7 @@
       BinaryLiterals
       BlockArguments
       DeriveGeneric
+      DeriveLift
       FlexibleContexts
       FlexibleInstances
       GeneralizedNewtypeDeriving
@@ -275,18 +313,26 @@
     , bytestring
     , chessIO
     , containers
+    , deepseq
     , directory
     , extra
     , file-embed
+    , hashable
+    , lens
     , megaparsec >=9.0
+    , mono-traversable
     , o-clock
     , parallel
     , prettyprinter
     , process
     , random
     , stm
+    , template-haskell
     , text
+    , th-lift-instances
     , time
     , unordered-containers
     , vector
+    , vector-binary-instances
+    , vector-instances
   default-language: Haskell2010
diff --git a/src/Game/Chess.hs b/src/Game/Chess.hs
--- a/src/Game/Chess.hs
+++ b/src/Game/Chess.hs
@@ -1,7 +1,7 @@
 {-|
 Module      : Game.Chess
 Description : Basic data types and functions related to the game of chess
-Copyright   : (c) Mario Lang, 2020
+Copyright   : (c) Mario Lang, 2021
 License     : BSD3
 Maintainer  : mlang@blind.guru
 Stability   : experimental
@@ -18,6 +18,7 @@
 
 The following modules implement more specific functionality:
 
+- "Game.Chess.ECO": Parse the Encyclopedia of Chess Openings and lookup positions
 - "Game.Chess.Polyglot": Polyglot opening book format
 - "Game.Chess.SAN": Parse and print Standard Algebraic Notation.
 - "Game.Chess.PGN": Parse and format Portable Game Notation files.
@@ -27,7 +28,18 @@
 module Game.Chess (
   -- * Chess positions
   Color(..), opponent
-, IsSquare(toIndex, toRF), Sq(..), isLight, isDark
+, Square(A1, A2, A3, A4, A5, A6, A7, A8,
+         B1, B2, B3, B4, B5, B6, B7, B8,
+         C1, C2, C3, C4, C5, C6, C7, C8,
+         D1, D2, D3, D4, D5, D6, D7, D8,
+         E1, E2, E3, E4, E5, E6, E7, E8,
+         F1, F2, F3, F4, F5, F6, F7, F8,
+         G1, G2, G3, G4, G5, G6, G7, G8,
+         H1, H2, H3, H4, H5, H6, H7, H8)
+, rank, Rank(Rank1, Rank2, Rank3, Rank4, Rank5, Rank6, Rank7, Rank8)
+, file, File(FileA, FileB, FileC, FileD, FileE, FileF, FileG, FileH)
+, rankFile, isLight, isDark
+, rankChar, fileChar, toCoord
 , PieceType(..), Castle(..)
 , Position, startpos, color, moveNumber, halfMoveClock, pieceAt, inCheck
 , castlingRights, canCastleKingside, canCastleQueenside
@@ -35,7 +47,7 @@
   -- ** Converting from/to Forsyth-Edwards-Notation
 , fromFEN, toFEN
   -- * Chess moves
-, Ply(..), plySource, plyTarget, plyPromotion
+, Ply, plySource, plyTarget, plyPromotion
   -- ** Convertion
 , fromUCI, toUCI, fromPolyglot, toPolyglot
   -- ** Move generation
@@ -44,5 +56,5 @@
 , doPly, unsafeDoPly
 ) where
 
-import Game.Chess.Internal.Square
-import Game.Chess.Internal
+import           Game.Chess.Internal
+import           Game.Chess.Internal.Square
diff --git a/src/Game/Chess/ECO.hs b/src/Game/Chess/ECO.hs
new file mode 100644
--- /dev/null
+++ b/src/Game/Chess/ECO.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE TemplateHaskell #-}
+{-|
+Module      : Game.Chess.ECO
+Description : Encyclopedia of Chess Openings
+Copyright   : (c) Mario Lang, 2021
+License     : BSD3
+Maintainer  : mlang@blind.guru
+Stability   : experimental
+
+Types and functions to name chess positions according to the opening used.
+
+Two commonly used file formats for opening classification are supported.
+-}
+module Game.Chess.ECO (
+  -- * Data types
+  ECO, Opening(..)
+, defaultECO
+  -- * Query
+, lookup
+  -- * Conversion
+, fromList, toList
+  -- * Parsing eco.pgn files
+, fromPGN, readECOPGNFile
+  -- * Parsing scid .eco files
+, readSCIDECOFile, scid
+  -- * Template Haskell
+, embedECO, ecoPgn, scidEco
+) where
+
+import           Game.Chess.Internal.ECO
+import           Prelude                 hiding (lookup)
+
+defaultECO :: ECO
+defaultECO = $$(embedECO ecoPgn "book/eco.pgn")
diff --git a/src/Game/Chess/Internal.hs b/src/Game/Chess/Internal.hs
--- a/src/Game/Chess/Internal.hs
+++ b/src/Game/Chess/Internal.hs
@@ -16,57 +16,76 @@
 -}
 module Game.Chess.Internal where
 
-import Data.Bits
-  ( Bits((.&.), testBit, unsafeShiftR, unsafeShiftL, xor, (.|.), bit, complement),
-    FiniteBits(countLeadingZeros, countTrailingZeros) )
-import Data.Char ( ord, chr )
-import Data.Ix ( Ix(inRange) )
-import Data.List (nub, sortOn)
-import Data.Maybe ( fromJust, isJust, listToMaybe )
-import Data.Ord (Down(..))
-import Data.String ( IsString(..) )
-import Data.Vector.Unboxed (Vector, (!))
-import qualified Data.Vector.Unboxed as Vector
-import Data.Word ( Word16, Word64 )
-import Foreign.Storable
-import Game.Chess.Internal.Square (IsSquare(toIndex, toRF), Sq(..), toCoord)
-import Game.Chess.Internal.QuadBitboard (QuadBitboard)
+import           Control.DeepSeq
+import           Control.Lens                     (view)
+import           Control.Lens.Iso                 (from)
+import           Data.Binary
+import           Data.Bits                        (Bits (bit, complement, testBit, unsafeShiftL, unsafeShiftR, xor, (.&.), (.|.)),
+                                                   FiniteBits (countLeadingZeros, countTrailingZeros))
+import           Data.Char                        (chr, ord)
+import           Data.Hashable
+import           Data.Ix                          (Ix (inRange))
+import           Data.List                        (nub, sortOn)
+import           Data.Maybe                       (fromJust, isJust,
+                                                   listToMaybe)
+import           Data.Ord                         (Down (..))
+import           Data.String                      (IsString (..))
+import qualified Data.Vector.Generic              as G
+import qualified Data.Vector.Generic.Mutable      as M
+import           Data.Vector.Unboxed              (MVector, Unbox, Vector, (!))
+import qualified Data.Vector.Unboxed              as Vector
+import           Data.Word                        (Word16, Word64)
+import           Foreign.Storable
+import           GHC.Generics                     (Generic)
+import           GHC.Stack                        (HasCallStack)
+import           Game.Chess.Internal.QuadBitboard (QuadBitboard)
 import qualified Game.Chess.Internal.QuadBitboard as QBB
-import Text.Read (readMaybe)
+import           Game.Chess.Internal.Square
+import           Language.Haskell.TH.Syntax       (Lift)
+import           Text.Read                        (readMaybe)
 
 capturing :: Position -> Ply -> Maybe PieceType
 capturing pos@Position{flags} (plyTarget -> to)
-  | (flags .&. epMask) `testBit` to = Just Pawn
+  | (flags .&. epMask) `testBit` unSquare to = Just Pawn
   | otherwise = snd <$> pieceAt pos to
 
 isCapture :: Position -> Ply -> Bool
-isCapture pos = isJust . capturing pos
+isCapture Position{qbb, flags} =
+  testBit (QBB.occupied qbb .|. (flags .&. epMask)) . unSquare . plyTarget
 
 -- | The starting position as given by the FEN string
 --   "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1".
 startpos :: Position
-startpos = fromJust $
-  fromFEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"
+startpos = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"
 
+instance IsString Position where fromString = fromJust . fromFEN
+
 data PieceType = Pawn | Knight | Bishop | Rook | Queen | King deriving (Eq, Ix, Ord, Show)
 
-data Color = Black | White deriving (Eq, Ix, Ord, Show)
+data Color = Black | White deriving (Eq, Generic, Ix, Ord, Lift, Show)
 
-pieceAt :: IsSquare sq => Position -> sq -> Maybe (Color, PieceType)
-pieceAt Position{qbb} (toIndex -> sq) = case qbb QBB.! sq of
-  QBB.WhitePawn -> Just (White, Pawn)
+instance Binary Color
+instance NFData Color
+
+instance Hashable Color where
+  hashWithSalt s Black = s `hashWithSalt` (0 :: Int)
+  hashWithSalt s White = s `hashWithSalt` (1 :: Int)
+
+pieceAt :: Position -> Square -> Maybe (Color, PieceType)
+pieceAt Position{qbb} sq = case qbb QBB.! sq of
+  QBB.WhitePawn   -> Just (White, Pawn)
   QBB.WhiteKnight -> Just (White, Knight)
   QBB.WhiteBishop -> Just (White, Bishop)
-  QBB.WhiteRook -> Just (White, Rook)
-  QBB.WhiteQueen -> Just (White, Queen)
-  QBB.WhiteKing -> Just (White, King)
-  QBB.BlackPawn -> Just (Black, Pawn)
+  QBB.WhiteRook   -> Just (White, Rook)
+  QBB.WhiteQueen  -> Just (White, Queen)
+  QBB.WhiteKing   -> Just (White, King)
+  QBB.BlackPawn   -> Just (Black, Pawn)
   QBB.BlackKnight -> Just (Black, Knight)
   QBB.BlackBishop -> Just (Black, Bishop)
-  QBB.BlackRook -> Just (Black, Rook)
-  QBB.BlackQueen -> Just (Black, Queen)
-  QBB.BlackKing -> Just (Black, King)
-  _             -> Nothing
+  QBB.BlackRook   -> Just (Black, Rook)
+  QBB.BlackQueen  -> Just (Black, Queen)
+  QBB.BlackKing   -> Just (Black, King)
+  _               -> Nothing
 
 opponent :: Color -> Color
 opponent White = Black
@@ -75,15 +94,18 @@
 data Piece = Piece !Color !PieceType deriving (Eq, Show)
 
 data Position = Position {
-  qbb :: {-# UNPACK #-} !QuadBitboard
-, color :: !Color
+  qbb           :: {-# UNPACK #-} !QuadBitboard
+, color         :: !Color
   -- ^ active color
-, flags :: {-# UNPACK #-} !Word64
+, flags         :: {-# UNPACK #-} !Word64
 , halfMoveClock :: {-# UNPACK #-} !Int
-, moveNumber :: {-# UNPACK #-} !Int
+, moveNumber    :: {-# UNPACK #-} !Int
   -- ^ number of the full move
-}
+} deriving (Generic, Lift)
 
+instance Binary Position
+instance NFData Position
+
 -- Article 9.2 states that a position is considered
 -- identical to another if the same player is on move, the same types of
 -- pieces of the same colors occupy the same squares, and the same moves
@@ -92,6 +114,10 @@
 instance Eq Position where
   a == b = qbb a == qbb b && color a == color b && flags a == flags b
 
+instance Hashable Position where
+  hashWithSalt s Position{qbb, color, flags} =
+    s `hashWithSalt` qbb `hashWithSalt` color `hashWithSalt` flags
+
 repetitions :: [Position] -> Maybe (Int, Position)
 repetitions p = listToMaybe . sortOn (Down . fst) . fmap f $ nub p where
   f x = (count x p, x)
@@ -118,7 +144,7 @@
   parts = words fen
   readColor "w" = Just White
   readColor "b" = Just Black
-  readColor _ = Nothing
+  readColor _   = Nothing
 
   readFlags cst ep = (.|.) <$> readCst cst <*> readEP ep where
     readCst "-" = Just 0
@@ -127,8 +153,8 @@
       go ('Q':xs) = (crwQs .|.) <$> go xs
       go ('k':xs) = (crbKs .|.) <$> go xs
       go ('q':xs) = (crbQs .|.) <$> go xs
-      go [] = Just 0
-      go _ = Nothing
+      go []       = Just 0
+      go _        = Nothing
     readEP "-" = Just 0
     readEP [f,r]
       | inRange ('a','h') f && (r == '3' || r == '6')
@@ -151,7 +177,7 @@
   showCst x
     | str == "" = "-"
     | otherwise = str
-   where 
+   where
     str = snd . wks . wqs . bks . bqs $ (x, "")
     wks (v, xs) | v `testMask` crwKs = (v, 'K':xs)
                 | otherwise          = (v, xs)
@@ -162,7 +188,7 @@
     bqs (v, xs) | v `testMask` crbQs = (v, 'q':xs)
                 | otherwise          = (v, xs)
   showEP 0 = "-"
-  showEP x = toCoord (bitScanForward x)
+  showEP x = toCoord . Sq . bitScanForward $ x
 
 occupiedBy :: Color -> QuadBitboard -> Word64
 occupiedBy White = QBB.white
@@ -180,13 +206,46 @@
 bitScanForward = countTrailingZeros
 bitScanReverse = (63 -) . countLeadingZeros
 
-newtype Ply = Ply Word16 deriving (Eq, Storable)
+newtype Ply = Ply Word16 deriving (Binary, Eq, Hashable, Lift, Storable)
 
 instance Show Ply where
-  show = toUCI
+  show (unpack -> (from, to, promo)) = "move " <> show from <> " " <> show to <> p where
+    p = case promo of
+      Just piece -> " `promoteTo` " <> show piece
+      Nothing    -> ""
 
-move :: (IsSquare from, IsSquare to) => from -> to -> Ply
-move (toIndex -> from) (toIndex -> to) =
+newtype instance MVector s Ply = MV_Ply (MVector s Word16)
+newtype instance Vector    Ply = V_Ply (Vector Word16)
+
+instance M.MVector MVector Ply where
+  basicLength (MV_Ply v) = M.basicLength v
+  basicUnsafeSlice i n (MV_Ply v) = MV_Ply $ M.basicUnsafeSlice i n v
+  basicOverlaps (MV_Ply v1) (MV_Ply v2) = M.basicOverlaps v1 v2
+  basicUnsafeNew n = MV_Ply <$> M.basicUnsafeNew n
+  basicInitialize (MV_Ply v) = M.basicInitialize v
+  basicUnsafeReplicate n (Ply pl) = MV_Ply <$> M.basicUnsafeReplicate n pl
+  basicUnsafeRead (MV_Ply v) i = Ply <$> M.basicUnsafeRead v i
+  basicUnsafeWrite (MV_Ply v) i (Ply pl) = M.basicUnsafeWrite v i pl
+  basicClear (MV_Ply v) = M.basicClear v
+  basicSet (MV_Ply v) (Ply pl) = M.basicSet v pl
+  basicUnsafeCopy (MV_Ply v1) (MV_Ply v2) = M.basicUnsafeCopy v1 v2
+  basicUnsafeMove (MV_Ply v1) (MV_Ply v2) = M.basicUnsafeMove v1 v2
+  basicUnsafeGrow (MV_Ply v) n = MV_Ply <$> M.basicUnsafeGrow v n
+
+instance G.Vector Vector Ply where
+  {-# INLINE basicUnsafeIndexM #-}
+  basicUnsafeFreeze (MV_Ply v) = V_Ply <$> G.basicUnsafeFreeze v
+  basicUnsafeThaw (V_Ply v) = MV_Ply <$> G.basicUnsafeThaw v
+  basicLength (V_Ply v) = G.basicLength v
+  basicUnsafeSlice i n (V_Ply v) = V_Ply $ G.basicUnsafeSlice  i n v
+  basicUnsafeIndexM (V_Ply v) i = Ply <$> G.basicUnsafeIndexM v i
+  basicUnsafeCopy (MV_Ply mv) (V_Ply v) = G.basicUnsafeCopy mv v
+  elemseq _ pl z = G.elemseq (undefined :: Vector a) pl z
+
+instance Unbox Ply
+
+move :: Square -> Square -> Ply
+move (Sq from) (Sq to) =
   Ply $ fromIntegral to .|. fromIntegral from `unsafeShiftL` 6
 
 promoteTo :: Ply -> PieceType -> Ply
@@ -197,9 +256,9 @@
   set Queen  = x .&. 0xfff .|. 0x4000
   set _      = x
 
-plySource, plyTarget :: Ply -> Int
-plySource (Ply x) = fromIntegral ((x `unsafeShiftR` 6) .&. 0b111111)
-plyTarget (Ply x) = fromIntegral (x .&. 0b111111)
+plySource, plyTarget :: Ply -> Square
+plySource (Ply x) = Sq $ fromIntegral ((x `unsafeShiftR` 6) .&. 0b111111)
+plyTarget (Ply x) = Sq $ fromIntegral (x .&. 0b111111)
 
 plyPromotion :: Ply -> Maybe PieceType
 plyPromotion (Ply x) = case x `unsafeShiftR` 12 of
@@ -209,9 +268,9 @@
   4 -> Just Queen
   _ -> Nothing
 
-unpack :: Ply -> (Int, Int, Maybe PieceType)
-unpack (Ply x) = ( fromIntegral ((x `unsafeShiftR` 6) .&. 0b111111)
-                 , fromIntegral (x .&. 0b111111)
+unpack :: Ply -> (Square, Square, Maybe PieceType)
+unpack (Ply x) = ( Sq $ fromIntegral ((x `unsafeShiftR` 6) .&. 0b111111)
+                 , Sq $ fromIntegral (x .&. 0b111111)
                  , piece)
  where
   !piece = case x `unsafeShiftR` 12 of
@@ -223,76 +282,76 @@
 
 fromPolyglot :: Position -> Ply -> Ply
 fromPolyglot pos pl@(unpack -> (from, to, _)) = case color pos of
-  White | from == toIndex E1
+  White | from == E1
         , canCastleKingside pos
-        , to == toIndex H1
+        , to == H1
         -> wKscm
-        | from == toIndex E1
+        | from == E1
         , canCastleQueenside pos
-        , to == toIndex A1
+        , to == A1
         -> wQscm
-  Black | from == toIndex E8
+  Black | from == E8
         , canCastleKingside pos
-        , to == toIndex H8
+        , to == H8
         -> bKscm
-        | from == toIndex E8
+        | from == E8
         , canCastleQueenside pos
-        , to == toIndex A8
+        , to == A8
         -> bQscm
   _ -> pl
 
 toPolyglot :: Position -> Ply -> Ply
 toPolyglot pos pl@(unpack -> (from, to, _)) = case color pos of
-  White | from == toIndex E1
+  White | from == E1
         , canCastleKingside pos
-        , to == toIndex G1
+        , to == G1
         -> from `move` H1
-        | from == toIndex E1
+        | from == E1
         , canCastleQueenside pos
-        , to == toIndex C1
+        , to == C1
         -> from `move` A1
-  Black | from == toIndex E8
+  Black | from == E8
         , canCastleKingside pos
-        , to == toIndex G8
+        , to == G8
         -> from `move` H8
-        | from == toIndex E8
+        | from == E8
         , canCastleQueenside pos
-        , to == toIndex C8
+        , to == C8
         -> from `move` A8
   _ -> pl
 
 -- | Parse a move in the format used by the Universal Chess Interface protocol.
 fromUCI :: Position -> String -> Maybe Ply
-fromUCI pos (fmap (splitAt 2) . splitAt 2 -> (from, (to, promo)))
+fromUCI pos (fmap (splitAt 2) . splitAt 2 -> (src, (dst, promo)))
   | null promo
-  = move <$> readCoord from <*> readCoord to >>= relativeTo pos
+  = move <$> readCoord src <*> readCoord dst >>= relativeTo pos
   | otherwise
-  = (\f t p -> move f t `promoteTo` p) <$> readCoord from
-                                       <*> readCoord to
+  = (\f t p -> move f t `promoteTo` p) <$> readCoord src
+                                       <*> readCoord dst
                                        <*> readPromo promo
       >>= relativeTo pos
  where
   readCoord [f,r]
     | inRange ('a','h') f && inRange ('1','8') r
-    = Just $ (ord r - ord '1') * 8 + (ord f - ord 'a')
+    = Just . view (from rankFile) $ (mkRank $ ord r - ord '1',  mkFile $ ord f - ord 'a')
   readCoord _ = Nothing
   readPromo "q" = Just Queen
   readPromo "r" = Just Rook
   readPromo "b" = Just Bishop
   readPromo "n" = Just Knight
-  readPromo _ = Nothing
+  readPromo _   = Nothing
 
 -- | Convert a move to the format used by the Universal Chess Interface protocol.
 toUCI :: Ply -> String
 toUCI (unpack -> (from, to, promo)) = coord from <> coord to <> p where
-  coord x = let (r,f) = toRF x in
-            chr (f + ord 'a') : [chr (r + ord '1')]
+  coord x = let (r,f) = view rankFile x in
+            chr (unFile f + ord 'a') : [chr (unRank r + ord '1')]
   p = case promo of
-    Just Queen -> "q"
-    Just Rook -> "r"
+    Just Queen  -> "q"
+    Just Rook   -> "r"
     Just Bishop -> "b"
     Just Knight -> "n"
-    _ -> ""
+    _           -> ""
 
 -- | Validate that a certain move is legal in the given position.
 relativeTo :: Position -> Ply -> Maybe Ply
@@ -321,7 +380,7 @@
 --
 -- This function checks if the move is actually legal and throws and error
 -- if it isn't.  See 'unsafeDoPly' for a version that omits the legality check.
-doPly :: Position -> Ply -> Position
+doPly :: HasCallStack => Position -> Ply -> Position
 doPly p m
   | m `elem` legalPlies p = unsafeDoPly p m
   | otherwise        = error "Game.Chess.doPly: Illegal move"
@@ -343,7 +402,7 @@
   pos' = unsafeDoPly' pos m
   isPawnPush p m = case pieceAt p (plySource m) of
     Just (_, Pawn) -> True
-    _         -> False
+    _              -> False
 
 unsafeDoPly' :: Position -> Ply -> Position
 unsafeDoPly' pos@Position{qbb, flags} m@(unpack -> (from, to, promo))
@@ -367,34 +426,34 @@
   = case color pos of
       White -> case piece of
         Queen -> pos { qbb = QBB.whitePromotion qbb from to QBB.WhiteQueen
-                     , flags = flags `clearMask` (epMask .|. bit to)
+                     , flags = flags `clearMask` (epMask .|. bit (unSquare to))
                      }
         Rook  -> pos { qbb = QBB.whitePromotion qbb from to QBB.WhiteRook
-                     , flags = flags `clearMask` (epMask .|. bit to)
+                     , flags = flags `clearMask` (epMask .|. bit (unSquare to))
                      }
         Bishop -> pos { qbb = QBB.whitePromotion qbb from to QBB.WhiteBishop
-                      , flags = flags `clearMask` (epMask .|. bit to)
+                      , flags = flags `clearMask` (epMask .|. bit (unSquare to))
                       }
         Knight -> pos { qbb = QBB.whitePromotion qbb from to QBB.WhiteKnight
-                      , flags = flags `clearMask` (epMask .|. bit to)
+                      , flags = flags `clearMask` (epMask .|. bit (unSquare to))
                       }
         _ -> error "Impossible: White tried to promote to Pawn"
       Black -> case piece of
         Queen -> pos { qbb = QBB.blackPromotion qbb from to QBB.BlackQueen
-                     , flags = flags `clearMask` (epMask .|. bit to)
-                     }  
+                     , flags = flags `clearMask` (epMask .|. bit (unSquare to))
+                     }
         Rook   -> pos { qbb = QBB.blackPromotion qbb from to QBB.BlackRook
-                      , flags = flags `clearMask` (epMask .|. bit to)
+                      , flags = flags `clearMask` (epMask .|. bit (unSquare to))
                       }
         Bishop -> pos { qbb = QBB.blackPromotion qbb from to QBB.BlackBishop
-                      , flags = flags `clearMask` (epMask .|. bit to)
+                      , flags = flags `clearMask` (epMask .|. bit (unSquare to))
                       }
         Knight -> pos { qbb = QBB.blackPromotion qbb from to QBB.BlackKnight
-                      , flags = flags `clearMask` (epMask .|. bit to)
+                      , flags = flags `clearMask` (epMask .|. bit (unSquare to))
                       }
         _ -> error "Impossible: Black tried to promote to Pawn"
-  | QBB.pawns qbb `testMask` fromMask &&
-    toMask .&. (rank3 .|. rank6) .&. flags /= 0
+  | QBB.pawns qbb `testMask` fromMask
+  , toMask .&. (rank3 .|. rank6) .&. flags /= 0
   = pos { qbb = qbb <> QBB.enPassant from to
         , flags = flags `clearMask` toMask
         }
@@ -403,12 +462,14 @@
         , flags = (flags `clearMask` (epMask .|. mask)) .|. dpp
         }
  where
-  !fromMask = 1 `unsafeShiftL` from
-  !toMask = 1 `unsafeShiftL` to
+  !fromMask = 1 `unsafeShiftL` unSquare from
+  !toMask = 1 `unsafeShiftL` unSquare to
   !mask = fromMask .|. toMask
   dpp = case color pos of
-    White | fromMask .&. rank2 .&. QBB.wPawns qbb /= 0 && from + 16 == to -> shiftN fromMask
-    Black | fromMask .&. rank7 .&. QBB.bPawns qbb /= 0 && from - 16 == to -> shiftS fromMask
+    White | fromMask .&. rank2 .&. QBB.wPawns qbb /= 0
+          , unSquare from + 16 == unSquare to -> shiftN fromMask
+    Black | fromMask .&. rank7 .&. QBB.bPawns qbb /= 0
+          , unSquare from - 16 == unSquare to -> shiftS fromMask
     _                                                            -> 0
 
 -- | Generate a list of possible moves for the given position.
@@ -446,14 +507,14 @@
             | otherwise                  = ml
   bLong ml  | canCastleQueenside' pos occ = bQscm : ml
             | otherwise              = ml
-  mkM !from ms !to = move from to : ms
+  mkM !from ms !to = move (Sq from) (Sq to) : ms
 
 -- | Returns 'True' if 'Color' is in check in the given position.
 inCheck :: Color -> Position -> Bool
 inCheck White Position{qbb} =
-  attackedBy Black qbb (occupied qbb) (bitScanForward (QBB.wKings qbb))
+  attackedBy Black qbb (occupied qbb) (Sq (bitScanForward (QBB.wKings qbb)))
 inCheck Black Position{qbb} =
-  attackedBy White qbb (occupied qbb) (bitScanForward (QBB.bKings qbb))
+  attackedBy White qbb (occupied qbb) (Sq (bitScanForward (QBB.bKings qbb)))
 
 wPawnMoves :: Word64 -> Word64 -> Word64 -> [Ply] -> [Ply]
 wPawnMoves !pawns !emptySquares !opponentPieces =
@@ -469,7 +530,7 @@
   mkPly diff ms tsq
     | tsq >= 56 = (promoteTo m <$> [Queen, Rook, Bishop, Knight]) <> ms
     | otherwise = m : ms
-   where m = move (tsq - diff) tsq
+   where m = move (Sq (tsq - diff)) (Sq tsq)
 
 bPawnMoves :: Word64 -> Word64 -> Word64 -> [Ply] -> [Ply]
 bPawnMoves !pawns !emptySquares !opponentPieces =
@@ -485,19 +546,19 @@
   mkPly diff ms tsq
     | tsq <= 7  = (promoteTo m <$> [Queen, Rook, Bishop, Knight]) <> ms
     | otherwise = m : ms
-   where m = move (tsq + diff) tsq
+   where m = move (Sq (tsq + diff)) (Sq  tsq)
 
 slideMoves :: PieceType -> Position -> Word64 -> Word64 -> [Ply] -> [Ply]
 slideMoves piece (Position bb c _ _ _) !notOurs !occ =
   flip (foldBits gen) pieces
  where
   gen ms from = foldBits (mkPly from) ms (targets from)
-  mkPly from ms to = move from to : ms
+  mkPly from ms to = move (Sq from) (Sq to) : ms
   targets sq = case piece of
-    Rook -> rookTargets sq occ .&. notOurs
+    Rook   -> rookTargets sq occ .&. notOurs
     Bishop -> bishopTargets sq occ .&. notOurs
-    Queen -> queenTargets sq occ .&. notOurs
-    _ -> error "Not a sliding piece"
+    Queen  -> queenTargets sq occ .&. notOurs
+    _      -> error "Not a sliding piece"
   pieces = case (c, piece) of
     (White, Bishop) -> QBB.wBishops bb
     (Black, Bishop) -> QBB.bBishops bb
@@ -505,7 +566,7 @@
     (Black, Rook)   -> QBB.bRooks bb
     (White, Queen)  -> QBB.wQueens bb
     (Black, Queen)  -> QBB.bQueens bb
-    _ -> 0
+    _               -> 0
 
 data Castle = Kingside | Queenside deriving (Eq, Ix, Ord, Show)
 
@@ -520,10 +581,10 @@
   bqs xs | flags `testMask` crbQs = (Black, Queenside):xs
          | otherwise              = xs
 
-enPassantSquare :: Position -> Maybe Sq
+enPassantSquare :: Position -> Maybe Square
 enPassantSquare Position{flags} = case flags .&. epMask of
   0 -> Nothing
-  x -> Just $ toEnum $ bitScanForward x
+  x -> Just . Sq . bitScanForward $ x
 
 canCastleKingside, canCastleQueenside :: Position -> Bool
 canCastleKingside pos@Position{qbb} = canCastleKingside' pos (occupied qbb)
@@ -533,7 +594,7 @@
 canCastleKingside' Position{qbb, color = White, flags} !occ =
   flags `testMask` crwKs && occ .&. crwKe == 0 &&
   not (any (attackedBy Black qbb occ) [E1, F1, G1])
-canCastleKingside' Position{qbb, color = Black, flags} !occ = 
+canCastleKingside' Position{qbb, color = Black, flags} !occ =
   flags `testMask` crbKs && occ .&. crbKe == 0 &&
   not (any (attackedBy White qbb occ) [E8, F8, G8])
 canCastleQueenside' Position{qbb, color = White, flags} !occ =
@@ -549,8 +610,8 @@
 bKscm = move E8 G8
 bQscm = move E8 C8
 
-attackedBy :: IsSquare sq => Color -> QuadBitboard -> Word64 -> sq -> Bool
-attackedBy White qbb !occ (toIndex -> sq)
+attackedBy :: Color -> QuadBitboard -> Word64 -> Square -> Bool
+attackedBy White qbb !occ (unSquare -> sq)
   | (wPawnAttacks ! sq) .&. QBB.wPawns qbb /= 0 = True
   | (knightAttacks ! sq) .&. QBB.wKnights qbb /= 0 = True
   | bishopTargets sq occ .&. QBB.wBishops qbb /= 0 = True
@@ -558,7 +619,7 @@
   | queenTargets sq occ .&. QBB.wQueens qbb /= 0 = True
   | (kingAttacks ! sq) .&. QBB.wKings qbb /= 0   = True
   | otherwise                        = False
-attackedBy Black qbb !occ (toIndex -> sq)
+attackedBy Black qbb !occ (unSquare -> sq)
   | (bPawnAttacks ! sq) .&. QBB.bPawns qbb /= 0 = True
   | (knightAttacks ! sq) .&. QBB.bKnights qbb /= 0 = True
   | bishopTargets sq occ .&. QBB.bBishops qbb /= 0 = True
@@ -617,7 +678,7 @@
 
 getRayTargets :: Int -> Direction -> Word64 -> Word64
 getRayTargets sq dir occ = blocked $ attacks .&. occ where
-  blocked 0 = attacks
+  blocked 0  = attacks
   blocked bb = attacks `xor` (ray ! bitScan bb)
   attacks = ray ! sq
   (bitScan, ray) = case dir of
diff --git a/src/Game/Chess/Internal/ECO.hs b/src/Game/Chess/Internal/ECO.hs
new file mode 100644
--- /dev/null
+++ b/src/Game/Chess/Internal/ECO.hs
@@ -0,0 +1,167 @@
+{-# LANGUAGE GADTs           #-}
+{-# LANGUAGE RankNTypes      #-}
+{-# LANGUAGE TemplateHaskell #-}
+module Game.Chess.Internal.ECO where
+
+import           Control.DeepSeq
+import           Control.Exception          (Exception (displayException),
+                                             throwIO)
+import           Control.Monad
+import           Control.Monad.IO.Class
+import           Data.Bifunctor
+import           Data.Binary
+import           Data.ByteString.Char8      (ByteString)
+import qualified Data.ByteString.Char8      as BS
+import qualified Data.ByteString.Lazy.Char8 as Lazy
+import           Data.Char
+import           Data.Data
+import           Data.Either                (fromRight)
+import           Data.FileEmbed             (embedFile)
+import           Data.Foldable              (fold)
+import           Data.Functor
+import           Data.HashMap.Strict        (HashMap)
+import qualified Data.HashMap.Strict        as HashMap
+import           Data.Hashable              (Hashable)
+import           Data.Maybe
+import           Data.MonoTraversable       (MonoFoldable (ofoldl'))
+import           Data.Ord
+import           Data.Ratio
+import           Data.Text                  (Text)
+import qualified Data.Text                  as T
+import           Data.Tree                  (foldTree)
+import           Data.Typeable              (Typeable)
+import           Data.Vector.Binary
+import           Data.Vector.Instances
+import qualified Data.Vector.Unboxed        as Unboxed
+import           Data.Void
+import           Data.Word                  (Word8)
+import           GHC.Generics               (Generic)
+import           Game.Chess
+import           Game.Chess.PGN
+import           Game.Chess.SAN
+import           Instances.TH.Lift
+import           Language.Haskell.TH.Syntax (Lift, Q, TExp, liftTyped)
+import           Prelude                    hiding (lookup)
+import qualified Prelude
+import           System.IO
+import           Text.Megaparsec
+import           Text.Megaparsec.Byte
+import qualified Text.Megaparsec.Byte.Lexer as L
+
+-- | A Chess Opening
+data Opening = CO {
+  coCode      :: !Text
+, coName      :: !Text
+, coVariation :: !(Maybe Text)
+, coPlies     :: !(Unboxed.Vector Ply)
+} deriving (Eq, Generic, Lift, Show)
+
+instance Binary Opening
+instance Hashable Opening
+instance NFData Opening
+
+type FileReader = forall m. MonadIO m => FilePath -> m (Either String [Opening])
+
+-- | Parse an ECO database in .pgn format
+ecoPgn :: FileReader
+ecoPgn fp = fmap fromPGN' <$> readPGNFile fp
+
+-- | Parse an ECO database in .eco format
+scidEco :: FileReader
+scidEco fp = first errorBundlePretty . parse scid' fp <$> liftIO (BS.readFile fp)
+
+-- | Encyclopedia of Chess Openings
+newtype ECO = ECO { toHashMap :: HashMap Position Opening }
+              deriving (Eq, NFData, Hashable, Semigroup, Monoid)
+
+instance Binary ECO where
+  put = put . toList
+  get = fromList <$> get
+
+embedECO :: FileReader -> FilePath -> Q (TExp ECO)
+embedECO load fp = (fmap.fmap) liftTyped (load fp) >>= \case
+  Right xs -> [|| fromList $$(xs) ||]
+  Left err -> fail err
+
+toList :: ECO -> [Opening]
+toList = map snd . HashMap.toList . toHashMap
+
+fromList :: [Opening] -> ECO
+fromList = ECO . HashMap.fromList . fmap (\co -> (pos co, co)) where
+  pos = ofoldl' unsafeDoPly startpos . coPlies
+
+-- | Convert a PGN database to ECO assuming the ECO, Opening and Variation tags are
+-- being used to identify chess openings.
+fromPGN :: PGN -> ECO
+fromPGN = fromList . fromPGN'
+
+fromPGN' :: PGN -> [Opening]
+fromPGN' (PGN games) = map mkCO games where
+  mkCO (tags, (_, forest)) = CO { .. } where
+    coCode = fromMaybe "" $ Prelude.lookup "ECO" tags
+    coName = fromMaybe "" $ Prelude.lookup "Opening" tags
+    coVariation = Prelude.lookup "Variation" tags
+    coPlies = Unboxed.fromList . head . concatMap (foldTree g) $ forest where
+      g a [] = [[pgnPly a]]
+      g a xs = (pgnPly a :) <$> fold xs
+
+opening :: Parser Opening
+opening = CO <$> lexeme code <*> lexeme var <*> pure Nothing <*> lexeme (plies startpos)
+
+code :: Parser Text
+code = p <?> "code" where
+  p = f <$> alphaNumChar <*> many digitChar <*> optional alphaNumChar
+  f x xs y = let s = x : xs in T.pack . fmap (chr . fromEnum) $ case y of
+    Nothing -> s
+    Just y' -> s ++ [y']
+
+var :: Parser Text
+var = p <?> "string" where
+  p = fmap (T.pack . fmap (chr . fromEnum)) $ single quoteChar *> many ch <* single quoteChar
+  ch = single backslashChar *> (  single backslashChar $> backslashChar
+                              <|> single quoteChar $> quoteChar
+                               )
+    <|> anySingleBut quoteChar
+
+plies :: Position -> Parser (Unboxed.Vector Ply)
+plies = fmap Unboxed.fromList . go where
+  go p = eol <|> line where
+    eol = lexeme (string "*") $> []
+    line = ply >>= \pl -> (pl :) <$> go (unsafeDoPly p pl)
+    ply = validateMoveNumber p *> lexeme (relaxedSAN p)
+  validateMoveNumber p =
+    optional (lexeme $ L.decimal <* space <* many (single periodChar)) >>= \case
+      Just n | moveNumber p /= n ->
+        fail $ "Invalid move number: " <> show n <> " /= " <> show (moveNumber p)
+      _ -> pure ()
+
+-- | A parser for opening databases in SCID .eco format
+scid :: Parser ECO
+scid = fromList <$> scid'
+
+scid' :: Parser [Opening]
+scid' = spaceConsumer *> many opening <* eof
+
+readECOPGNFile :: MonadIO m => FilePath -> m (Either String ECO)
+readECOPGNFile = (fmap . fmap) fromList . ecoPgn
+
+readSCIDECOFile :: MonadIO m => FilePath -> m (Either String ECO)
+readSCIDECOFile = (fmap . fmap) fromList . scidEco
+
+-- | Retrieve the opening for a particular position
+lookup :: Position -> ECO -> Maybe Opening
+lookup pos = HashMap.lookup pos . toHashMap
+
+type Parser = Parsec Void ByteString
+
+spaceConsumer :: Parser ()
+spaceConsumer = L.space
+  space1 (L.skipLineComment "#") (L.skipBlockComment "{" "}")
+
+lexeme :: Parser a -> Parser a
+lexeme = L.lexeme spaceConsumer
+
+periodChar, quoteChar, backslashChar :: Word8
+periodChar    = fromIntegral $ ord '.'
+quoteChar     = fromIntegral $ ord '"'
+backslashChar = fromIntegral $ ord '\\'
diff --git a/src/Game/Chess/Internal/QuadBitboard.hs b/src/Game/Chess/Internal/QuadBitboard.hs
--- a/src/Game/Chess/Internal/QuadBitboard.hs
+++ b/src/Game/Chess/Internal/QuadBitboard.hs
@@ -30,36 +30,39 @@
 , whitePromotion, blackPromotion, whitePromotion', blackPromotion'
 ) where
 
-import Control.Applicative (liftA2)
-import Data.Bifunctor (first)
-import Data.Binary ( Binary(put, get) )
-import Data.Bits
-    ( Bits((.|.), (.&.), xor, complement
-          , unsafeShiftR, unsafeShiftL, testBit, setBit, clearBit, popCount)
-    , FiniteBits(..) )
-import Data.Char (ord, toLower)
-import Data.Ix ( Ix(inRange) )
-import Data.List ( groupBy, intercalate )
-import Data.String ( IsString(..) )
-import qualified Data.Vector.Generic as G
+import           Control.Applicative         (liftA2)
+import           Control.DeepSeq
+import           Control.Lens                (view, (^.))
+import           Control.Lens.Iso            (from)
+import           Data.Bifunctor              (first)
+import           Data.Binary                 (Binary (get, put))
+import           Data.Bits                   (Bits (clearBit, complement, popCount, setBit, testBit, unsafeShiftL, unsafeShiftR, xor, (.&.), (.|.)),
+                                              FiniteBits (..))
+import           Data.Char                   (ord, toLower)
+import           Data.Hashable
+import           Data.Ix                     (Ix (inRange))
+import           Data.List                   (groupBy, intercalate)
+import           Data.String                 (IsString (..))
+import qualified Data.Vector.Generic         as G
 import qualified Data.Vector.Generic.Mutable as M
-import Data.Vector.Unboxed (Vector, MVector, Unbox)
-import Data.Word (Word8, Word64)
-import Foreign.Storable
-import Game.Chess.Internal.Square (toIndex, toRF, Sq(A8))
-import GHC.Enum
-    ( boundedEnumFrom,
-      boundedEnumFromThen,
-      predError,
-      succError,
-      toEnumError )
-import GHC.Exts (IsList(Item, fromList, toList))
-import GHC.Ptr ( castPtr, plusPtr )
-import Numeric (showHex)
+import           Data.Vector.Unboxed         (MVector, Unbox, Vector)
+import           Data.Word                   (Word64, Word8)
+import           Foreign.Storable
+import           GHC.Enum                    (boundedEnumFrom,
+                                              boundedEnumFromThen, predError,
+                                              succError, toEnumError)
+import           GHC.Exts                    (IsList (Item, fromList, toList))
+import           GHC.Generics                (Generic)
+import           GHC.Ptr                     (castPtr, plusPtr)
+import           Game.Chess.Internal.Square
+import           Language.Haskell.TH.Syntax  (Lift)
+import           Numeric                     (showHex)
 
 data QuadBitboard = QBB { black, pbq, nbk, rqk :: {-# UNPACK #-} !Word64 }
-                    deriving Eq
+                    deriving (Eq, Generic, Lift)
 
+instance NFData QuadBitboard
+
 occupied, pnr, white, pawns, knights, bishops, rooks, queens, kings :: QuadBitboard -> Word64
 occupied = liftA2 (.|.) pbq $ liftA2 (.|.) nbk rqk
 pnr      = liftA2  xor  pbq $ liftA2  xor  nbk rqk
@@ -131,13 +134,13 @@
 pattern BlackKing   = 13
 
 instance IsList QuadBitboard where
-  type Item QuadBitboard = (Sq, Word4)
-  fromList = mconcat . map (uncurry singleton . first toIndex)
+  type Item QuadBitboard = (Square, Word4)
+  fromList = mconcat . map (uncurry singleton)
   toList qbb = go maxBound [] where
     go sq xs
       | sq /= minBound = go (pred sq) xs'
       | otherwise      = xs'
-     where nb = qbb ! toIndex sq
+     where nb = qbb ! sq
            xs' | nb /= NoPiece = (sq, nb) : xs
                | otherwise     = xs
 
@@ -260,13 +263,13 @@
 
 -- | law: singleton i x ! i = x where inRange (0,63) i && inRange (0,15) x
 {-# INLINE singleton #-}
-singleton :: Int -> Word4 -> QuadBitboard
-singleton !sq !nb = QBB (f 0) (f 1) (f 2) (f 3) where
+singleton :: Square -> Word4 -> QuadBitboard
+singleton (Sq sq) !nb = QBB (f 0) (f 1) (f 2) (f 3) where
   !b = 1 `unsafeShiftL` sq
   f !n = fromIntegral ((nb `unsafeShiftR` n) .&. 1) * b
 
-(!) :: QuadBitboard -> Int -> Word4
-(!) QBB{..} sq = fromIntegral $ f black 0 .|. f pbq 1 .|. f nbk 2 .|. f rqk 3 where
+(!) :: QuadBitboard -> Square -> Word4
+(!) QBB{..} (Sq sq) = fromIntegral $ f black 0 .|. f pbq 1 .|. f nbk 2 .|. f rqk 3 where
   f !bb !n = ((bb `unsafeShiftR` sq) .&. 1) `unsafeShiftL` n
 
 setNibble :: Bits nibble => QuadBitboard -> Int -> nibble -> QuadBitboard
@@ -274,17 +277,16 @@
   f n | nb `testBit` n = (`setBit` sq)
       | otherwise      = (`clearBit` sq)
 
-instance Binary QuadBitboard where
-  get = QBB <$> get <*> get <*> get <*> get
-  put QBB{..} = put black *> put pbq *> put nbk *> put rqk
+instance Binary QuadBitboard
 
 instance IsString QuadBitboard where
-  fromString = go (toRF A8) mempty where
+  fromString = go (view rankFile A8) mempty where
     go _ !qbb "" = qbb
-    go (!r,_) qbb ('/':xs) = go (r - 1, 0) qbb xs
-    go rf@(!r,!f) !qbb (x:xs)
-      | inRange ('1','8') x = go (r, f + ord x - ord '0') qbb xs
-      | otherwise = go (r, f + 1) (qbb <> singleton (toIndex rf) nb) xs where
+    go (r, _) qbb ('/':xs) = go (pred r, FileA) qbb xs
+    go rf@(r, f) !qbb (x:xs)
+      | inRange ('1','8') x = go (r, mkFile $ unFile f + ord x - ord '0') qbb xs
+      | otherwise = go (r, succ f) (qbb <> singleton sq nb) xs where
+        sq = view (from rankFile) rf
         nb = case x of
           'P' -> WhitePawn
           'N' -> WhiteKnight
@@ -300,6 +302,10 @@
           'k' -> BlackKing
           _ -> error $ "QuadBitBoard.fromString: Illegal FEN character " <> show x
 
+instance Hashable QuadBitboard where
+  hashWithSalt s QBB{black, pbq, nbk, rqk} =
+    s `hashWithSalt` black `hashWithSalt` pbq `hashWithSalt` nbk `hashWithSalt` rqk
+
 instance Show QuadBitboard where
   show QBB{..} =
      "QBB {black = 0x" <> showHex black
@@ -308,46 +314,46 @@
     (", rqk = 0x" <> showHex rqk "}")))
 
 toString :: QuadBitboard -> String
-toString qbb = intercalate "/" $ rank <$> [7, 6..0] where
-  rank r = concatMap countEmpty . groupBy spaces $ charAt r <$> [0..7]
+toString qbb = intercalate "/" $ rank <$> [Rank8, Rank7 .. Rank1] where
+  rank r = concatMap countEmpty . groupBy spaces $ charAt r <$> [FileA .. FileH]
   countEmpty xs | head xs == spc = show $ length xs
                 | otherwise      = xs
   spaces x y = x == spc && x == y
   charAt r f = maybe spc (if odd nb then toLower else id) $
     lookup (nb `div` 2) $ zip [1..] "PNBRQK"
-   where nb = qbb ! (r*8+f)
+   where nb = qbb ! ((r, f) ^. from rankFile)
   spc = ' '
 
 -- | Move a nibble.  Note that this function, while convenient, isn't very
 -- fast as it needs to lookup the source nibble value.
-move :: QuadBitboard -> Int -> Int -> QuadBitboard
+move :: QuadBitboard -> Square -> Square -> QuadBitboard
 move qbb fromSq toSq = qbb <> move' fromSq (qbb ! fromSq) toSq (qbb ! toSq)
 
-move' :: Int -> Word4 -> Int -> Word4 -> QuadBitboard
+move' :: Square -> Word4 -> Square -> Word4 -> QuadBitboard
 move' fromSq fromCode toSq toCode =
   singleton fromSq fromCode <> singleton toSq (fromCode `xor` toCode)
 
 whiteKingsideCastle, whiteQueensideCastle, blackKingsideCastle, blackQueensideCastle
   :: QuadBitboard
-whiteKingsideCastle  = move' 4 WhiteKing 6 NoPiece <> move' 7 WhiteRook 5 NoPiece
-whiteQueensideCastle = move' 4 WhiteKing 2 NoPiece <> move' 0 WhiteRook 3 NoPiece
-blackKingsideCastle  = move' 60 BlackKing 62 NoPiece <> move' 63 BlackRook 61 NoPiece
-blackQueensideCastle = move' 60 BlackKing 58 NoPiece <> move' 56 BlackRook 59 NoPiece
+whiteKingsideCastle  = move' E1 WhiteKing G1 NoPiece <> move' H1 WhiteRook F1 NoPiece
+whiteQueensideCastle = move' E1 WhiteKing C1 NoPiece <> move' A1 WhiteRook D1 NoPiece
+blackKingsideCastle  = move' E8 BlackKing G8 NoPiece <> move' H8 BlackRook F8 NoPiece
+blackQueensideCastle = move' E8 BlackKing C8 NoPiece <> move' A8 BlackRook D8 NoPiece
 
-enPassant :: Int -> Int -> QuadBitboard
+enPassant :: Square -> Square -> QuadBitboard
 enPassant fromSq toSq
-  | fromSq < toSq
-  = move' fromSq WhitePawn toSq NoPiece <> singleton (toSq-8) BlackPawn
+  | unSquare fromSq < unSquare toSq
+  = move' fromSq WhitePawn toSq NoPiece <> singleton (mkSq $ unSquare toSq - 8) BlackPawn
   | otherwise
-  = move' fromSq BlackPawn toSq NoPiece <> singleton (toSq+8) WhitePawn
+  = move' fromSq BlackPawn toSq NoPiece <> singleton (mkSq $ unSquare toSq + 8) WhitePawn
 
-whitePromotion, blackPromotion :: QuadBitboard -> Int -> Int -> Word4 -> QuadBitboard
+whitePromotion, blackPromotion :: QuadBitboard -> Square -> Square -> Word4 -> QuadBitboard
 whitePromotion qbb fromSq toSq promoCode =
   qbb <> whitePromotion' fromSq toSq (qbb ! toSq) promoCode
 blackPromotion qbb fromSq toSq promoCode =
   qbb <> blackPromotion' fromSq toSq (qbb ! toSq) promoCode
 
-whitePromotion', blackPromotion' :: Int -> Int -> Word4 -> Word4 -> QuadBitboard
+whitePromotion', blackPromotion' :: Square -> Square -> Word4 -> Word4 -> QuadBitboard
 whitePromotion' fromSq toSq toCode promoCode =
   singleton fromSq WhitePawn <> singleton toSq (toCode `xor` promoCode)
 blackPromotion' fromSq toSq toCode promoCode =
diff --git a/src/Game/Chess/Internal/Square.hs b/src/Game/Chess/Internal/Square.hs
--- a/src/Game/Chess/Internal/Square.hs
+++ b/src/Game/Chess/Internal/Square.hs
@@ -1,43 +1,234 @@
-module Game.Chess.Internal.Square (
-  IsSquare(..), Sq(..), isDark, isLight, toCoord
-) where
+module Game.Chess.Internal.Square where
 
-import Data.Bits (Bits(testBit))
-import Data.Char (chr, ord)
-import Data.Ix (Ix)
-import Data.String (IsString(fromString))
-import Data.Word
+import           Control.Lens.Iso
+import           Data.Bits        (Bits (testBit))
+import           Data.Char        (chr, ord)
+import           Data.Coerce      (coerce)
+import           Data.Ix          (Ix (..))
+import           Data.String      (IsString (fromString))
+import           Data.Word
+import           GHC.Stack        (HasCallStack)
 
-class IsSquare sq where
-  toIndex :: sq -> Int
-  toRF :: sq -> (Int, Int)
-  toRF sq = toIndex sq `divMod` 8
+newtype Rank = Rank Int deriving (Eq, Ord)
 
-instance IsSquare Int where
-  toIndex = id
+unRank :: Rank -> Int
+unRank = coerce
 
-instance IsSquare (Int, Int) where
-  toIndex (r, f) = r*8 + f
-  toRF = id
+mkRank :: HasCallStack => Int -> Rank
+mkRank n | n >= 0 && n <= 7 = Rank n
+         | otherwise        = error $ "mkRank " ++ show n
 
-data Sq = A1 | B1 | C1 | D1 | E1 | F1 | G1 | H1
-        | A2 | B2 | C2 | D2 | E2 | F2 | G2 | H2
-        | A3 | B3 | C3 | D3 | E3 | F3 | G3 | H3
-        | A4 | B4 | C4 | D4 | E4 | F4 | G4 | H4
-        | A5 | B5 | C5 | D5 | E5 | F5 | G5 | H5
-        | A6 | B6 | C6 | D6 | E6 | F6 | G6 | H6
-        | A7 | B7 | C7 | D7 | E7 | F7 | G7 | H7
-        | A8 | B8 | C8 | D8 | E8 | F8 | G8 | H8
-        deriving (Bounded, Enum, Eq, Ix, Ord, Show, Read)
+instance Show Rank where
+  showsPrec _ (Rank 0) = showString "Rank1"
+  showsPrec _ (Rank 1) = showString "Rank2"
+  showsPrec _ (Rank 2) = showString "Rank3"
+  showsPrec _ (Rank 3) = showString "Rank4"
+  showsPrec _ (Rank 4) = showString "Rank5"
+  showsPrec _ (Rank 5) = showString "Rank6"
+  showsPrec _ (Rank 6) = showString "Rank7"
+  showsPrec _ (Rank 7) = showString "Rank8"
+  showsPrec d (Rank n) = showParen (d > 10) $
+                         showString "Rank " . showsPrec 11 n
 
-instance IsSquare Sq where
-  toIndex = fromEnum
+instance Enum Rank where
+  toEnum n | n >= 0 && n <= 7 = Rank n
+           | otherwise        = error $ "Rank out-of-bound " ++ show n
+  fromEnum = coerce
 
-toCoord :: (IsSquare sq, IsString s) => sq -> s
-toCoord (toRF -> (r,f)) = fromString [chr (f + ord 'a'), chr (r + ord '1')]
+instance Bounded Rank where
+  minBound = Rank1
+  maxBound = Rank8
 
-isDark :: IsSquare sq => sq -> Bool
-isDark sq = (0xaa55aa55aa55aa55 :: Word64) `testBit` toIndex sq
+pattern Rank1, Rank2, Rank3, Rank4, Rank5, Rank6, Rank7, Rank8 :: Rank
+pattern Rank1 = Rank 0
+pattern Rank2 = Rank 1
+pattern Rank3 = Rank 2
+pattern Rank4 = Rank 3
+pattern Rank5 = Rank 4
+pattern Rank6 = Rank 5
+pattern Rank7 = Rank 6
+pattern Rank8 = Rank 7
 
-isLight :: IsSquare sq => sq -> Bool
+{-# COMPLETE Rank1, Rank2, Rank3, Rank4, Rank5, Rank6, Rank7, Rank8 :: Rank #-}
+
+newtype File = File Int deriving (Eq, Ord)
+
+unFile :: File -> Int
+unFile = coerce
+
+mkFile :: HasCallStack => Int -> File
+mkFile n | n >= 0 && n <= 7 = File n
+         | otherwise        = error $ "mkFile " ++ show n
+
+instance Show File where
+  showsPrec _ (File 0) = showString "FileA"
+  showsPrec _ (File 1) = showString "FileB"
+  showsPrec _ (File 2) = showString "FileC"
+  showsPrec _ (File 3) = showString "FileD"
+  showsPrec _ (File 4) = showString "FileE"
+  showsPrec _ (File 5) = showString "FileF"
+  showsPrec _ (File 6) = showString "FileG"
+  showsPrec _ (File 7) = showString "FileH"
+  showsPrec d (File n) = showParen (d > 10) $
+                         showString "File " . showsPrec 11 n
+
+instance Enum File where
+  toEnum n | n >= 0 && n <= 7 = File n
+           | otherwise        = error $ "File out-of-bound " ++ show n
+  fromEnum = coerce
+
+instance Bounded File where
+  minBound = FileA
+  maxBound = FileH
+
+pattern FileA, FileB, FileC, FileD, FileE, FileF, FileG, FileH :: File
+pattern FileA = File 0
+pattern FileB = File 1
+pattern FileC = File 2
+pattern FileD = File 3
+pattern FileE = File 4
+pattern FileF = File 5
+pattern FileG = File 6
+pattern FileH = File 7
+
+{-# COMPLETE FileA, FileB, FileC, FileD, FileE, FileF, FileG, FileH :: File #-}
+
+newtype Square = Sq Int deriving (Eq, Ord)
+
+instance Ix Square where
+  range (Sq i, Sq j) = [Sq k | k <- [i..j]]
+  index (Sq i, Sq j) (Sq k) = index (i, j) k
+  inRange (Sq i, Sq j) (Sq k) = inRange (i, j) k
+  rangeSize (Sq i, Sq j) = j - i
+
+unSquare :: Square -> Int
+unSquare = coerce
+{-# INLINE unSquare #-}
+
+-- TODO: this check is expensive, maybe only worth in "debug" builds.
+mkSq :: HasCallStack => Int -> Square
+mkSq n | n >= 0 && n <= 63 = Sq n
+       | otherwise         = error $ "mkSq " ++ show n
+
+instance Show Square where
+  showsPrec d (Sq i) | i >= 0 && i <= 63 = showString [f', r']
+                     | otherwise         = showParen (d > 10) $
+                                           showString "Sq " . showsPrec 11 i
+      where
+        (r, f) = i `divMod` 8
+        r' = chr (r + ord '1')
+        f' = chr (f + ord 'A')
+
+instance Enum Square where
+  toEnum n | n >= 0 && n <= 63 = Sq n
+           | otherwise         = error $ "Sq out-of-bound " ++ show n
+  fromEnum = coerce
+
+instance Bounded Square where
+  minBound = A1
+  maxBound = H8
+
+pattern A1, A2, A3, A4, A5, A6, A7, A8 :: Square
+pattern B1, B2, B3, B4, B5, B6, B7, B8 :: Square
+pattern C1, C2, C3, C4, C5, C6, C7, C8 :: Square
+pattern D1, D2, D3, D4, D5, D6, D7, D8 :: Square
+pattern E1, E2, E3, E4, E5, E6, E7, E8 :: Square
+pattern F1, F2, F3, F4, F5, F6, F7, F8 :: Square
+pattern G1, G2, G3, G4, G5, G6, G7, G8 :: Square
+pattern H1, H2, H3, H4, H5, H6, H7, H8 :: Square
+
+pattern A1 = Sq 0
+pattern B1 = Sq 1
+pattern C1 = Sq 2
+pattern D1 = Sq 3
+pattern E1 = Sq 4
+pattern F1 = Sq 5
+pattern G1 = Sq 6
+pattern H1 = Sq 7
+
+pattern A2 = Sq 8
+pattern B2 = Sq 9
+pattern C2 = Sq 10
+pattern D2 = Sq 11
+pattern E2 = Sq 12
+pattern F2 = Sq 13
+pattern G2 = Sq 14
+pattern H2 = Sq 15
+
+pattern A3 = Sq 16
+pattern B3 = Sq 17
+pattern C3 = Sq 18
+pattern D3 = Sq 19
+pattern E3 = Sq 20
+pattern F3 = Sq 21
+pattern G3 = Sq 22
+pattern H3 = Sq 23
+
+pattern A4 = Sq 24
+pattern B4 = Sq 25
+pattern C4 = Sq 26
+pattern D4 = Sq 27
+pattern E4 = Sq 28
+pattern F4 = Sq 29
+pattern G4 = Sq 30
+pattern H4 = Sq 31
+
+pattern A5 = Sq 32
+pattern B5 = Sq 33
+pattern C5 = Sq 34
+pattern D5 = Sq 35
+pattern E5 = Sq 36
+pattern F5 = Sq 37
+pattern G5 = Sq 38
+pattern H5 = Sq 39
+
+pattern A6 = Sq 40
+pattern B6 = Sq 41
+pattern C6 = Sq 42
+pattern D6 = Sq 43
+pattern E6 = Sq 44
+pattern F6 = Sq 45
+pattern G6 = Sq 46
+pattern H6 = Sq 47
+
+pattern A7 = Sq 48
+pattern B7 = Sq 49
+pattern C7 = Sq 50
+pattern D7 = Sq 51
+pattern E7 = Sq 52
+pattern F7 = Sq 53
+pattern G7 = Sq 54
+pattern H7 = Sq 55
+
+pattern A8 = Sq 56
+pattern B8 = Sq 57
+pattern C8 = Sq 58
+pattern D8 = Sq 59
+pattern E8 = Sq 60
+pattern F8 = Sq 61
+pattern G8 = Sq 62
+pattern H8 = Sq 63
+
+rank :: Square -> Rank
+rank = Rank . (`div` 8) . coerce
+
+file :: Square -> File
+file = File . (`mod` 8) . coerce
+
+rankFile :: Iso' Square (Rank, File)
+rankFile = iso f g where
+  f (Sq i) = case i `divMod` 8 of (r, f) -> (Rank r, File f)
+  g (Rank r, File f) = Sq $ r*8 + f
+
+fileChar, rankChar :: Square -> Char
+fileChar = chr . (ord 'a' +) . unFile . file
+rankChar = chr . (ord '1' +) . unRank . rank
+
+toCoord :: IsString s => Square -> s
+toCoord sq = fromString $ ($ sq) <$> [fileChar, rankChar]
+
+isDark :: Square -> Bool
+isDark (Sq i) = (0xaa55aa55aa55aa55 :: Word64) `testBit` i
+
+isLight :: Square -> Bool
 isLight = not . isDark
diff --git a/src/Game/Chess/PGN.hs b/src/Game/Chess/PGN.hs
--- a/src/Game/Chess/PGN.hs
+++ b/src/Game/Chess/PGN.hs
@@ -1,34 +1,47 @@
 {-# LANGUAGE GADTs #-}
+{-|
+Module      : Game.Chess.PGN
+Description : Portable Game Notation
+Copyright   : (c) Mario Lang, 2021
+License     : BSD3
+Maintainer  : mlang@blind.guru
+Stability   : experimental
+
+A PGN file consists of a list of games.
+Each game consists of a tag list, the outcome, and a forest of rosetrees.
+-}
 module Game.Chess.PGN (
-  readPGNFile, gameFromForest, pgnForest, PGN(..), Game(..), Outcome(..)
+  readPGNFile, gameFromForest, pgnForest, PGN(..), Game(..), Outcome(..), PlyData(..)
+, pgn
 , hPutPGN, pgnDoc, RAVOrder, breadthFirst, depthFirst, gameDoc
 , weightedForest
 ) where
 
-import Control.Monad
-import Data.Bifunctor
-import Data.ByteString.Char8 (ByteString)
-import qualified Data.ByteString.Char8 as BS
-import Data.Char
-import Data.Foldable
-import Data.Functor
-import Data.List
-import Data.Maybe
-import Data.Ord
-import Data.Ratio
-import Data.Text (Text)
-import qualified Data.Text as T
-import Data.Text.Prettyprint.Doc hiding (space)
-import Data.Text.Prettyprint.Doc.Render.Text
-import Data.Tree
-import Data.Word
-import Data.Void
-import Game.Chess
-import Game.Chess.SAN
-import System.IO
-import Text.Megaparsec
-import Text.Megaparsec.Byte
-import qualified Text.Megaparsec.Byte.Lexer as L
+import           Control.Monad
+import           Control.Monad.IO.Class
+import           Data.Bifunctor
+import           Data.ByteString.Char8                 (ByteString)
+import qualified Data.ByteString.Char8                 as BS
+import           Data.Char
+import           Data.Foldable
+import           Data.Functor
+import           Data.List
+import           Data.Maybe
+import           Data.Ord
+import           Data.Ratio
+import           Data.Text                             (Text)
+import qualified Data.Text                             as T
+import           Data.Text.Prettyprint.Doc             hiding (space)
+import           Data.Text.Prettyprint.Doc.Render.Text
+import           Data.Tree
+import           Data.Void
+import           Data.Word
+import           Game.Chess
+import           Game.Chess.SAN
+import           System.IO
+import           Text.Megaparsec
+import           Text.Megaparsec.Byte
+import qualified Text.Megaparsec.Byte.Lexer            as L
 
 gameFromForest :: [(ByteString, Text)] -> Forest Ply -> Outcome -> Game
 gameFromForest tags forest o = (("Result", r):tags, (o, (fmap . fmap) f forest)) where
@@ -59,12 +72,12 @@
 
 
 instance Ord Outcome where
-  Win _ `compare` Win _ = EQ
-  Win _ `compare` _ = GT
-  _ `compare` Win _ = LT
-  Draw `compare` Draw = EQ
-  Draw `compare` _ = GT
-  _ `compare` Draw = LT
+  Win _ `compare` Win _         = EQ
+  Win _ `compare` _             = GT
+  _ `compare` Win _             = LT
+  Draw `compare` Draw           = EQ
+  Draw `compare` _              = GT
+  _ `compare` Draw              = LT
   Undecided `compare` Undecided = EQ
 
 instance Pretty Outcome where
@@ -75,12 +88,12 @@
 
 data PlyData = PlyData {
   prefixNAG :: ![Int]
-, pgnPly :: !Ply
+, pgnPly    :: !Ply
 , suffixNAG :: ![Int]
 } deriving (Eq, Show)
 
-readPGNFile :: FilePath -> IO (Either String PGN)
-readPGNFile fp = first errorBundlePretty . parse pgn fp <$> BS.readFile fp
+readPGNFile :: MonadIO m => FilePath -> m (Either String PGN)
+readPGNFile fp = liftIO $ first errorBundlePretty . parse pgn fp <$> BS.readFile fp
 
 hPutPGN :: Handle -> RAVOrder (Doc ann) -> PGN -> IO ()
 hPutPGN h ro (PGN games) = for_ games $ \g -> do
@@ -165,17 +178,17 @@
   pos <- case lookup "FEN" tl of
     Nothing -> pure startpos
     Just fen -> case fromFEN (T.unpack fen) of
-      Just p -> pure p
+      Just p  -> pure p
       Nothing -> fail "Invalid FEN"
   (tl,) <$> movetext pos
-  
+
 str :: Parser Text
 str = p <?> "string" where
   p = fmap (T.pack . fmap (chr . fromEnum)) $ single quoteChar *> many ch <* single quoteChar
   ch = single backslashChar *> (  single backslashChar $> backslashChar
-                          <|> single quoteChar $> quoteChar
-                           )
-   <|> anySingleBut quoteChar
+                              <|> single quoteChar $> quoteChar
+                               )
+    <|> anySingleBut quoteChar
 
 type RAVOrder a = (Forest PlyData -> a) -> Forest PlyData -> [a]
 
@@ -200,8 +213,8 @@
   tagpair (k, esc -> v) = brackets $ pretty (BS.unpack k) <+> dquotes (pretty v)
   esc = T.concatMap e where
     e '\\' = T.pack "\\\\"
-    e '"' = T.pack "\\\""
-    e c = T.singleton c
+    e '"'  = T.pack "\\\""
+    e c    = T.singleton c
 
 moveDoc :: RAVOrder (Doc ann) -> Position -> (Outcome, Forest PlyData) -> Doc ann
 moveDoc ro p (o,f) = fillSep (go p True f <> [pretty o]) <> line where
@@ -231,7 +244,7 @@
         | otherwise = 0
     f pos (Node a ts') = Node (w (color pos), pgnPly a) $
       f (unsafeDoPly pos (pgnPly a)) <$> ts'
-  trunk [] = []
+  trunk []    = []
   trunk (x:_) = [x { subForest = trunk (subForest x)}]
   merge [] = []
   merge ((Node a ts) : xs) =
diff --git a/src/Game/Chess/Polyglot.hs b/src/Game/Chess/Polyglot.hs
--- a/src/Game/Chess/Polyglot.hs
+++ b/src/Game/Chess/Polyglot.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE ScopedTypeVariables #-}
-{-# LANGUAGE TemplateHaskell #-}
+{-# LANGUAGE TemplateHaskell     #-}
 module Game.Chess.Polyglot (
   -- * Data type
   PolyglotBook
@@ -17,34 +17,34 @@
 , findPosition
 ) where
 
-import Control.Arrow
-import Control.Monad.Random (Rand)
-import qualified Control.Monad.Random as Rand
-import Data.Bits
-import Data.ByteString (ByteString)
+import           Control.Arrow
+import           Control.Monad.Random     (Rand)
+import qualified Control.Monad.Random     as Rand
+import           Data.Bits
+import           Data.ByteString          (ByteString)
+import qualified Data.ByteString          as BS
 import qualified Data.ByteString.Internal as BS
-import qualified Data.ByteString as BS
-import Data.FileEmbed
-import Data.Foldable (fold)
-import Data.List
-import Data.Ord
-import Data.String (IsString(fromString))
-import qualified Data.Vector.Storable as VS
-import Data.Tree
-import Data.Word
-import Foreign.ForeignPtr (castForeignPtr, plusForeignPtr)
-import Foreign.Storable
-import Game.Chess.Internal
-import Game.Chess.PGN
-import Game.Chess.Polyglot.Hash
-import GHC.Ptr (Ptr, castPtr, plusPtr)
-import System.Random (RandomGen)
+import           Data.FileEmbed
+import           Data.Foldable            (fold)
+import           Data.List
+import           Data.Ord
+import           Data.String              (IsString (fromString))
+import           Data.Tree
+import qualified Data.Vector.Storable     as VS
+import           Data.Word
+import           Foreign.ForeignPtr       (castForeignPtr, plusForeignPtr)
+import           Foreign.Storable
+import           GHC.Ptr                  (Ptr, castPtr, plusPtr)
+import           Game.Chess.Internal
+import           Game.Chess.PGN
+import           Game.Chess.Polyglot.Hash
+import           System.Random            (RandomGen)
 
 data BookEntry = BookEntry {
-  key :: {-# UNPACK #-} !Word64
-, ply :: {-# UNPACK #-} !Ply
+  key    :: {-# UNPACK #-} !Word64
+, ply    :: {-# UNPACK #-} !Ply
 , weight :: {-# UNPACK #-} !Word16
-, learn :: {-# UNPACK #-} !Word32
+, learn  :: {-# UNPACK #-} !Word32
 } deriving (Eq, Show)
 
 instance Ord BookEntry where
@@ -67,12 +67,12 @@
 peekBE :: forall a. (Bits a, Num a, Storable a) => Ptr Word8 -> IO a
 peekBE ptr = go ptr 0 (sizeOf (undefined :: a)) where
   go _ !x 0 = pure x
-  go !p !x !n = peek p >>= \w8 -> 
+  go !p !x !n = peek p >>= \w8 ->
     go (p `plusPtr` 1) (x `shiftL` 8 .|. fromIntegral w8) (n - 1)
 
 pokeBE :: forall a. (Bits a, Integral a, Num a, Storable a) => Ptr Word8 -> a -> IO ()
 pokeBE p x = go x (sizeOf x) where
-  go _ 0 = pure ()
+  go _ 0   = pure ()
   go !v !n = pokeElemOff p (n-1) (fromIntegral v) *> go (v `shiftR` 8) (n-1)
 
 defaultBook, twic :: PolyglotBook
@@ -134,7 +134,7 @@
 bookPly :: RandomGen g => PolyglotBook -> Position -> Maybe (Rand g Ply)
 bookPly b pos = case findPosition b pos of
   [] -> Nothing
-  l -> Just . Rand.fromList $ map (ply &&& fromIntegral . weight) l
+  l  -> Just . Rand.fromList $ map (ply &&& fromIntegral . weight) l
 
 -- | Probe the book for all plies known for the given position.
 bookPlies :: PolyglotBook -> Position -> [Ply]
diff --git a/src/Game/Chess/Polyglot/Hash.hs b/src/Game/Chess/Polyglot/Hash.hs
--- a/src/Game/Chess/Polyglot/Hash.hs
+++ b/src/Game/Chess/Polyglot/Hash.hs
@@ -2,16 +2,16 @@
   hashPosition, pieceKey, castleKey, epKeys, turnKey
 ) where
 
-import Data.Bits
-import Data.Maybe
+import           Data.Bits
+import           Data.Ix
+import           Data.Maybe
 import qualified Data.Vector.Unboxed as Unboxed
-import Data.Ix
-import Data.Word
-import Game.Chess
+import           Data.Word
+import           Game.Chess
 
 hashPosition :: Position -> Word64
 hashPosition pos = piece `xor` castling `xor` ep `xor` turn where
-  piece = foldr xor 0 $ mapMaybe f [A1 .. ] where
+  piece = foldr xor 0 $ mapMaybe f [A1 .. H8] where
     f sq = (\(c, p) -> pieceKey (p, c, sq)) <$> pieceAt pos sq
   castling = foldr (xor . castleKey) 0 $ castlingRights pos
   ep = 0 -- TODO
@@ -19,7 +19,7 @@
     White -> turnKey
     Black -> 0
 
-pieceKey :: (PieceType, Color, Sq) -> Word64
+pieceKey :: (PieceType, Color, Square) -> Word64
 pieceKey = Unboxed.unsafeIndex pieceKeys . index ((Pawn,Black,A1),(King,White,H8))
 
 castleKey :: (Color, Castle) -> Word64
diff --git a/src/Game/Chess/SAN.hs b/src/Game/Chess/SAN.hs
--- a/src/Game/Chess/SAN.hs
+++ b/src/Game/Chess/SAN.hs
@@ -1,8 +1,11 @@
-{-# LANGUAGE PolyKinds, FlexibleInstances, GADTs, ScopedTypeVariables #-}
+{-# LANGUAGE FlexibleInstances   #-}
+{-# LANGUAGE GADTs               #-}
+{-# LANGUAGE PolyKinds           #-}
+{-# LANGUAGE ScopedTypeVariables #-}
 {-|
 Module      : Game.Chess.SAN
 Description : Standard Algebraic Notation
-Copyright   : (c) Mario Lang, 2020
+Copyright   : (c) Mario Lang, 2021
 License     : BSD3
 Maintainer  : mlang@blind.guru
 Stability   : experimental
@@ -18,36 +21,44 @@
 , varToSAN
 ) where
 
-import           Control.Applicative (Applicative(liftA2))
-import           Control.Arrow ((&&&))
-import           Data.Bifunctor (first)
-import qualified Data.ByteString as Strict (ByteString)
-import qualified Data.ByteString.Lazy as Lazy (ByteString)
-import           Data.Char (chr, ord)
-import           Data.Functor (($>))
-import           Data.List (sortOn)
-import           Data.List.Extra (chunksOf)
-import           Data.Maybe (fromJust)
-import           Data.Ord (Down(..))
-import           Data.Proxy ( Proxy(..) )
-import           Data.String (IsString(fromString))
-import qualified Data.Text as Strict (Text)
-import qualified Data.Text.Lazy as Lazy (Text)
-import           Data.Traversable (mapAccumL)
-import           Data.Void (Void)
-import           Data.Word ( Word8 )
-import Game.Chess.Internal ( Castle(Queenside, Kingside),
-                             Ply, Position(color, moveNumber), Color(Black, White),
-                             PieceType(..), isCapture, pieceAt,
-                             promoteTo, plySource, plyTarget, unpack, doPly, unsafeDoPly, legalPlies,
-                             inCheck, canCastleKingside, canCastleQueenside,
-                             wKscm, wQscm, bKscm, bQscm )
-import Game.Chess.Internal.Square (toIndex, toRF, toCoord)
-import Text.Megaparsec ( optional, (<|>), empty, (<?>), chunk, parse,
-                         errorBundlePretty, choice, option, Parsec,
-                         MonadParsec(try, token),
-                         Stream, TraversableStream, VisualStream,
-                         Token, Tokens, chunkLength )
+import           Control.Applicative        (Applicative (liftA2))
+import           Control.Arrow              ((&&&))
+import           Control.Lens               (view)
+import           Control.Lens.Iso           (from)
+import           Data.Bifunctor             (first)
+import qualified Data.ByteString            as Strict (ByteString)
+import qualified Data.ByteString.Lazy       as Lazy (ByteString)
+import           Data.Char                  (chr, ord)
+import           Data.Functor               (($>))
+import           Data.List                  (sortOn)
+import           Data.List.Extra            (chunksOf)
+import           Data.Maybe                 (fromJust)
+import           Data.MonoTraversable       (Element, MonoFoldable (otoList))
+import           Data.Ord                   (Down (..))
+import           Data.Proxy                 (Proxy (..))
+import           Data.String                (IsString (fromString))
+import qualified Data.Text                  as Strict (Text)
+import qualified Data.Text.Lazy             as Lazy (Text)
+import           Data.Traversable           (mapAccumL)
+import           Data.Void                  (Void)
+import           Data.Word                  (Word8)
+import           GHC.Stack                  (HasCallStack)
+import           Game.Chess.Internal        (Castle (Kingside, Queenside),
+                                             Color (Black, White),
+                                             PieceType (..), Ply,
+                                             Position (color, moveNumber),
+                                             bKscm, bQscm, canCastleKingside,
+                                             canCastleQueenside, doPly, inCheck,
+                                             isCapture, legalPlies, pieceAt,
+                                             plySource, plyTarget, promoteTo,
+                                             unpack, unsafeDoPly, wKscm, wQscm)
+import           Game.Chess.Internal.Square
+import           Text.Megaparsec            (MonadParsec (token, try), Parsec,
+                                             Stream, Token, Tokens,
+                                             TraversableStream, VisualStream,
+                                             choice, chunk, chunkLength, empty,
+                                             errorBundlePretty, option,
+                                             optional, parse, (<?>), (<|>))
 
 type Parser s = Parsec Void s
 
@@ -68,9 +79,9 @@
   castleMove Queenside | color pos == White = wQscm
                        | otherwise          = bQscm
 
-data From = File Int
-          | Rank Int
-          | Square Int
+data From = F File
+          | R Rank
+          | RF Square
           deriving (Eq, Show)
 
 data SANStatus = Check | Checkmate deriving (Eq, Read, Show)
@@ -85,10 +96,12 @@
 sanPiece :: (Stream s, SANToken (Token s)) => Parser s PieceType
 sanPiece = token sanPieceToken mempty <?> "piece"
 
-fileP, rankP, squareP :: (Stream s, SANToken (Token s)) => Parser s Int
-fileP = token fileToken mempty <?> "file"
-rankP = token rankToken mempty <?> "rank"
-squareP = liftA2 (flip $ curry toIndex) fileP rankP <?> "square"
+fileP :: (Stream s, SANToken (Token s)) => Parser s File
+fileP = mkFile <$> token fileToken mempty <?> "file"
+rankP :: (Stream s, SANToken (Token s)) => Parser s Rank
+rankP = mkRank <$> token rankToken mempty <?> "rank"
+squareP :: (Stream s, SANToken (Token s)) => Parser s Square
+squareP = liftA2 (flip . curry $ view (from rankFile)) fileP rankP <?> "square"
 
 promotionPiece :: (Stream s, SANToken (Token s)) => Parser s PieceType
 promotionPiece = token promotionPieceToken mempty <?> "Q, R, B, N"
@@ -103,7 +116,7 @@
     'R' -> Just Rook
     'Q' -> Just Queen
     'K' -> Just King
-    _ -> Nothing
+    _   -> Nothing
   fileToken c | c >= 'a' && c <= 'h' = Just $ ord c - ord 'a'
               | otherwise  = Nothing
   rankToken c | c >= '1' && c <= '8' = Just $ ord c - ord '1'
@@ -113,11 +126,11 @@
     'B' -> Just Bishop
     'R' -> Just Rook
     'Q' -> Just Queen
-    _ -> Nothing
+    _   -> Nothing
   statusToken = \case
     '+' -> Just Check
     '#' -> Just Checkmate
-    _ -> Nothing
+    _   -> Nothing
 
 instance SANToken Word8 where
   sanPieceToken = \case
@@ -126,7 +139,7 @@
     82 -> Just Rook
     81 -> Just Queen
     75 -> Just King
-    _ -> Nothing
+    _  -> Nothing
   rankToken c | c >= 49 && c <= 56 = Just . fromIntegral $ c - 49
               | otherwise  = Nothing
   fileToken c | c >= 97 && c <= 104 = Just . fromIntegral $ c - 97
@@ -136,11 +149,11 @@
     66 -> Just Bishop
     82 -> Just Rook
     81 -> Just Queen
-    _ -> Nothing
+    _  -> Nothing
   statusToken = \case
     43 -> Just Check
     35 -> Just Checkmate
-    _ -> Nothing
+    _  -> Nothing
 
 strictSAN :: forall s. (Stream s, SANToken (Token s), IsString (Tokens s))
           => Position -> Parser s Ply
@@ -156,12 +169,12 @@
   pieceFrom p (plySource -> from) = p == snd (fromJust (pieceAt pos from))
   target p ms = coords p ms >>= \m@(plyTarget -> to) -> case p of
     Pawn | lastRank to -> promoteTo m <$> promotion
-    _ -> pure m
+    _                  -> pure m
   coords p ms = choice $ fmap (uncurry (<$) . fmap chunk) $
     sortOn (Down . chunkLength (Proxy :: Proxy s) . snd) $
     (\m -> (m, sanCoords pos (p,ms) m)) <$> ms
   promotion = chunk "=" *> promotionPiece
-  lastRank i = i >= 56 || i <= 7
+  lastRank (rank -> r) = r == Rank1 || r == Rank8
   checkStatus m
     | inCheck (color nextPos) nextPos && null (legalPlies nextPos)
     = chunk "#" $> m
@@ -181,12 +194,12 @@
     prm <- optional $ optional (chunk "=") *> promotionPiece
     case possible pc from to prm of
       [m] -> pure m
-      [] -> fail "Illegal move"
-      _ -> fail "Ambiguous move"
+      []  -> fail "Illegal move"
+      _   -> fail "Ambiguous move"
   conv (Nothing, Nothing, cap, to) = (Nothing, cap, to)
-  conv (Just f, Nothing, cap, to) = (Just (File f), cap, to)
-  conv (Nothing, Just r, cap, to) = (Just (Rank r), cap, to)
-  conv (Just f, Just r, cap, to) = (Just (Square (r*8+f)), cap, to)
+  conv (Just f, Nothing, cap, to) = (Just (F f), cap, to)
+  conv (Nothing, Just r, cap, to) = (Just (R r), cap, to)
+  conv (Just f, Just r, cap, to) = (Just (RF (view (from rankFile) (r, f))), cap, to)
   location = try ((,Nothing,,) <$> (Just <$> fileP) <*> capture <*> squareP)
          <|> try ((Nothing,,,) <$> (Just <$> rankP) <*> capture <*> squareP)
          <|> try ((,,,) <$> (Just <$> fileP) <*> (Just <$> rankP)
@@ -195,12 +208,12 @@
   capture = option False $ chunk "x" $> True
   ms = legalPlies pos
   possible pc from to prm = filter (f from) ms where
-    f (Just (Square sq)) (unpack -> (from', to', prm')) =
+    f (Just (RF sq)) (unpack -> (from', to', prm')) =
       pAt from' == pc && from' == sq && to' == to && prm' == prm
-    f (Just (File ff)) (unpack -> (from', to', prm')) =
-      pAt from' == pc && from' `mod` 8 == ff && to == to' && prm == prm'
-    f (Just (Rank fr)) (unpack -> (from', to', prm')) =
-      pAt from' == pc && from' `div` 8 == fr && to == to' && prm == prm'
+    f (Just (F ff)) (unpack -> (from', to', prm')) =
+      pAt from' == pc && file from' == ff && to == to' && prm == prm'
+    f (Just (R fr)) (unpack -> (from', to', prm')) =
+      pAt from' == pc && rank from' == fr && to == to' && prm == prm'
     f Nothing (unpack -> (from', to', prm')) =
       pAt from' == pc && to == to' && prm == prm'
   pAt = snd . fromJust . pieceAt pos
@@ -209,26 +222,27 @@
         => Position -> s -> Either String Ply
 fromSAN pos = first errorBundlePretty . parse (relaxedSAN pos) ""
 
-toSAN :: IsString s => Position -> Ply -> s
+toSAN :: (HasCallStack, IsString s) => Position -> Ply -> s
 toSAN pos m
   | m `elem` legalPlies pos = fromString $ unsafeToSAN pos m
-  | otherwise          = error "Game.Chess.toSAN: Illegal move"
+  | otherwise               = error "Game.Chess.toSAN: Illegal move"
 
-varToSAN :: IsString s => Position -> [Ply] -> s
-varToSAN _ [] = ""
-varToSAN pos plies
-  | color pos == Black && length plies == 1
-  = fromString $ show (moveNumber pos) <> "..." <> toSAN pos (head plies)
-  | color pos == Black
-  = fromString $ show (moveNumber pos) <> "..." <> toSAN pos (head plies) <> " " <> fromWhite (doPly pos (head plies)) (tail plies)
-  | otherwise
-  = fromString $ fromWhite pos plies
- where
-  fromWhite pos' = unwords . concat
-                 . zipWith f [moveNumber pos' ..] . chunksOf 2 . snd
-                 . mapAccumL (curry (uncurry doPly &&& uncurry toSAN)) pos'
+varToSAN :: (MonoFoldable variation, Element variation ~ Ply, IsString string)
+         => Position -> variation -> string
+varToSAN p = fromString . go p . otoList where
+  go pos [] = ""
+  go pos plies
+    | color pos == Black && length plies == 1
+    = show (moveNumber pos) <> "..." <> toSAN pos (head plies)
+    | color pos == Black
+    = show (moveNumber pos) <> "..." <> toSAN pos (head plies) <> " " <> fromWhite (doPly pos (head plies)) (tail plies)
+    | otherwise
+    = fromWhite pos plies
+  fromWhite pos = unwords . concat
+                . zipWith f [moveNumber pos ..] . chunksOf 2 . snd
+                . mapAccumL (curry (uncurry doPly &&& uncurry toSAN)) pos
   f n (x:xs) = (show n <> "." <> x):xs
-  f _ [] = []
+  f _ []     = []
 
 sanCoords :: IsString s => Position -> (PieceType, [Ply]) -> Ply -> s
 sanCoords pos (pc,lms) m@(unpack -> (from, to, _)) =
@@ -236,28 +250,19 @@
  where
   capture = isCapture pos m
   source
-    | pc == Pawn && capture
-    = [fileChar from]
-    | pc == Pawn
-    = []
-    | length ms == 1
-    = []
-    | length (filter fEq ms) == 1
-    = [fileChar from]
-    | length (filter rEq ms) == 1
-    = [rankChar from]
-    | otherwise
-    = toCoord from
+    | pc == Pawn && capture       = [fileChar from]
+    | pc == Pawn                  = []
+    | length ms == 1              = []
+    | length (filter fEq ms) == 1 = [fileChar from]
+    | length (filter rEq ms) == 1 = [rankChar from]
+    | otherwise                   = toCoord from
   target
-    | capture = "x" <> toCoord to
+    | capture   = "x" <> toCoord to
     | otherwise = toCoord to
-  ms = filter (isMoveTo to) lms
-  isMoveTo sq (plyTarget -> to') = sq == to'
-  fEq (plySource -> from') = from' `mod` 8 == fromFile
-  rEq (plySource -> from') = from' `div` 8 == fromRank
-  (fromRank, fromFile) = toRF from
-  fileChar i = chr $ (i `mod` 8) + ord 'a'
-  rankChar i = chr $ (i `div` 8) + ord '1'
+  ms = filter ((to ==) . plyTarget) lms
+  fEq (file . plySource -> file) = file == fromFile
+  rEq (rank . plySource -> rank) = rank == fromRank
+  (fromRank, fromFile) = view rankFile from
 
 unsafeToSAN :: Position -> Ply -> String
 unsafeToSAN pos m@(unpack -> (from, to, promo)) =
@@ -290,22 +295,17 @@
     Just Bishop -> "B"
     Just Rook   -> "R"
     Just Queen  -> "Q"
-    _      -> ""
-  status | inCheck (color nextPos) nextPos && null (legalPlies nextPos)
-         = "#"
-         | inCheck (color nextPos) nextPos
-         = "+"
-         | otherwise
-         = ""
+    _           -> ""
+  status | inCheck (color nextPos) nextPos && null (legalPlies nextPos) = "#"
+         | inCheck (color nextPos) nextPos                              = "+"
+         | otherwise                                                    = ""
   nextPos = unsafeDoPly pos m
   ms = filter movesTo $ legalPlies pos
   movesTo (unpack -> (from', to', _)) =
     fmap snd (pieceAt pos from') == Just piece && to' == to
-  fEq (plySource -> from') = from' `mod` 8 == fromFile
-  rEq (plySource -> from') = from' `div` 8 == fromRank
-  (fromRank, fromFile) = toRF from
-  fileChar i = chr $ (i `mod` 8) + ord 'a'
-  rankChar i = chr $ (i `div` 8) + ord '1'
+  fEq (file . plySource -> file) = file == fromFile
+  rEq (rank . plySource -> rank) = rank == fromRank
+  (fromRank, fromFile) = view rankFile from
 
 {-# SPECIALISE relaxedSAN :: Position -> Parser Strict.ByteString Ply #-}
 {-# SPECIALISE relaxedSAN :: Position -> Parser Lazy.ByteString Ply #-}
diff --git a/src/Game/Chess/Tree.hs b/src/Game/Chess/Tree.hs
--- a/src/Game/Chess/Tree.hs
+++ b/src/Game/Chess/Tree.hs
@@ -1,12 +1,8 @@
-module Game.Chess.Tree (
-  positionTree, positionForest
-, plyTree, plyForest
-, pathTree
-) where
+module Game.Chess.Tree (positionTree, positionForest, plyTree, plyForest) where
 
-import Data.List.NonEmpty (NonEmpty, cons)
-import Data.Tree ( Tree(Node), Forest, foldTree )
-import Game.Chess.Internal
+import           Data.List.NonEmpty  (NonEmpty, cons)
+import           Data.Tree           (Forest, Tree (Node), foldTree)
+import           Game.Chess.Internal
 
 positionTree :: Position -> Tree Position
 positionTree pos = Node pos $ positionForest pos
@@ -19,6 +15,3 @@
 
 plyTree :: Position -> Ply -> Tree Ply
 plyTree pos ply = Node ply . plyForest $ unsafeDoPly pos ply
-
-pathTree :: Tree a -> Tree (NonEmpty a)
-pathTree = foldTree $ \a -> Node (pure a) . (fmap . fmap) (cons a)
diff --git a/src/Game/Chess/UCI.hs b/src/Game/Chess/UCI.hs
--- a/src/Game/Chess/UCI.hs
+++ b/src/Game/Chess/UCI.hs
@@ -1,7 +1,7 @@
 {-|
 Module      : Game.Chess.UCI
 Description : Universal Chess Interface
-Copyright   : (c) Mario Lang, 2020
+Copyright   : (c) Mario Lang, 2021
 License     : BSD3
 Maintainer  : mlang@blind.guru
 Stability   : experimental
@@ -33,49 +33,53 @@
 , quit, quit'
 ) where
 
-import Control.Applicative
-import Control.Concurrent
-import Control.Concurrent.STM hiding (check)
-import Control.Exception
-import Control.Monad
-import Control.Monad.IO.Class
-import Data.Attoparsec.Combinator
-import Data.Attoparsec.ByteString.Char8
-import Data.ByteString.Builder
-import Data.ByteString.Char8 (ByteString)
-import qualified Data.ByteString.Char8 as BS
-import Data.Foldable
-import Data.Functor
-import Data.HashMap.Strict (HashMap)
-import qualified Data.HashMap.Strict as HashMap
-import Data.IORef
-import Data.Ix
-import Data.List
-import Data.String (IsString(..))
-import Game.Chess
-import Numeric.Natural
-import System.Exit (ExitCode)
-import System.IO
-import System.Process
-import Time.Rational
-import Time.Units
+import           Control.Applicative
+import           Control.Concurrent
+import           Control.Concurrent.STM           hiding (check)
+import           Control.Exception
+import           Control.Monad
+import           Control.Monad.IO.Class
+import           Data.Attoparsec.ByteString.Char8
+import           Data.Attoparsec.Combinator
+import           Data.ByteString.Builder
+import           Data.ByteString.Char8            (ByteString)
+import qualified Data.ByteString.Char8            as BS
+import           Data.Foldable
+import           Data.Functor
+import           Data.HashMap.Strict              (HashMap)
+import qualified Data.HashMap.Strict              as HashMap
+import           Data.IORef
+import           Data.Ix
+import           Data.List
+import           Data.STRef                       (modifySTRef, newSTRef,
+                                                   readSTRef, writeSTRef)
+import           Data.String                      (IsString (..))
+import qualified Data.Vector.Unboxed              as Unboxed
+import qualified Data.Vector.Unboxed.Mutable      as Unboxed
+import           Game.Chess
+import           Numeric.Natural
+import           System.Exit                      (ExitCode)
+import           System.IO
+import           System.Process
+import           Time.Rational
+import           Time.Units
 
 type BestMove = Maybe (Ply, Maybe Ply)
 
 data Engine = Engine {
-  inH :: Handle
-, outH :: Handle
-, procH :: ProcessHandle
-, outputStrLn :: String -> IO ()
-, infoThread :: Maybe ThreadId
-, name :: Maybe ByteString
-, author :: Maybe ByteString
-, options :: HashMap ByteString Option
-, isReady :: MVar ()
-, isSearching :: IORef Bool
-, infoChan :: TChan [Info]
+  inH          :: Handle
+, outH         :: Handle
+, procH        :: ProcessHandle
+, outputStrLn  :: String -> IO ()
+, infoThread   :: Maybe ThreadId
+, name         :: Maybe ByteString
+, author       :: Maybe ByteString
+, options      :: HashMap ByteString Option
+, isReady      :: MVar ()
+, isSearching  :: IORef Bool
+, infoChan     :: TChan [Info]
 , bestMoveChan :: TChan BestMove
-, game :: IORef (Position, [Ply])
+, game         :: IORef (Position, [Ply])
 }
 
 -- | Set the starting position of the current game, also clearing any
@@ -102,25 +106,25 @@
              | BestMove !BestMove
              deriving (Show)
 
-data Info = PV [Ply]
-          | Depth Int
-          | SelDepth Int
-          | Elapsed (Time Millisecond)
-          | MultiPV Int
-          | Score Score (Maybe Bounds)
-          | Nodes Int
-          | NPS Int
-          | TBHits Int
-          | HashFull Int
-          | CurrMove Ply
-          | CurrMoveNumber Int
-          | String ByteString
+data Info = PV !(Unboxed.Vector Ply)
+          | Depth !Int
+          | SelDepth !Int
+          | Elapsed !(Time Millisecond)
+          | MultiPV !Int
+          | Score !Score (Maybe Bounds)
+          | Nodes !Int
+          | NPS !Int
+          | TBHits !Int
+          | HashFull !Int
+          | CurrMove !Ply
+          | CurrMoveNumber !Int
+          | String !ByteString
           deriving (Eq, Show)
 
 data Score = CentiPawns Int
            | MateIn Int
            deriving (Eq, Ord, Show)
-           
+
 data Bounds = UpperBound | LowerBound deriving (Eq, Show)
 
 
@@ -195,12 +199,11 @@
                                 <|> LowerBound <$ "lowerbound"
                                  )
     pure $ Score s b
-  pv = fmap (PV . reverse . snd) $ foldM toPly (pos, []) =<< sepBy mv skipSpace
-  toPly (pos, xs) s = case fromUCI pos s of
-    Just m -> pure (unsafeDoPly pos m, m : xs)
-    Nothing -> fail $ "Failed to parse move " <> s
+  pv = varToVec pos <$> sepBy mv skipSpace >>= \case
+    Right v -> pure . PV $ v
+    Left s  -> fail $ "Failed to parse move " <> s
   currmove = fmap (fromUCI pos) mv >>= \case
-    Just m -> pure $ CurrMove m
+    Just m  -> pure $ CurrMove m
     Nothing -> fail "Failed to parse move"
 
   mv = BS.unpack . fst <$> match (sq *> sq *> optional (satisfy p)) where
@@ -209,7 +212,7 @@
     p 'r' = True
     p 'b' = True
     p 'n' = True
-    p _ = False 
+    p _   = False
   bestmove = do
     m <- mv
     ponder <- optional (skipSpace *> kv "ponder" mv)
@@ -222,6 +225,23 @@
       Nothing -> fail $ "Failed to parse best move " <> m
   kv k v = k *> skipSpace *> v
 
+varToVec :: Position -> [String] -> Either String (Unboxed.Vector Ply)
+varToVec p xs = Unboxed.createT $ do
+  v <- Unboxed.new $ length xs
+  i <- newSTRef 0
+  pos <- newSTRef p
+  fmap (fmap (const v) . sequenceA) $ forM xs $ \x -> do
+    pos' <- readSTRef pos
+    case fromUCI pos' x of
+      Just pl -> do
+        i' <- readSTRef i
+        Unboxed.write v i' pl
+        modifySTRef i (+ 1)
+        writeSTRef pos (unsafeDoPly pos' pl)
+        pure . Right $ ()
+      Nothing -> do
+        pure . Left $ x
+
 -- | Start a UCI engine with the given executable name and command line arguments.
 start :: String -> [String] -> IO (Maybe Engine)
 start = start' (sec 2) putStrLn
@@ -278,7 +298,7 @@
 isready e@Engine{isReady} = do
   send e "isready"
   takeMVar isReady
-  
+
 send :: Engine -> Builder -> IO ()
 send Engine{inH, procH} b = do
   hPutBuilder inH (b <> "\n")
@@ -302,7 +322,7 @@
                  | Infinite
                 -- ^ search until 'stop' gets called
                  deriving (Eq, Show)
- 
+
 searchmoves :: [Ply] -> SearchParam
 searchmoves = SearchMoves
 
@@ -400,19 +420,19 @@
   if m `notElem` legalPlies pos then throwIO $ IllegalMove m else do
     atomicModifyIORef' game $ \g -> (fmap (<> [m]) g, ())
     sendPosition e
- 
+
 replacePly :: MonadIO m => Engine -> Ply -> m ()
 replacePly e@Engine{game} pl = liftIO $ do
   atomicModifyIORef' game $ \g ->
     (fmap init g, ())
   addPly e pl
-  
+
 sendPosition :: Engine -> IO ()
 sendPosition e@Engine{game} = readIORef game >>= send e . cmd where
   cmd (p, h) = fold . intersperse " " $
     "position" : "fen" : fromString (toFEN p) : line h
   line [] = []
-  line h = "moves" : (fromString . toUCI <$> h)
+  line h  = "moves" : (fromString . toUCI <$> h)
 
 -- | Quit the engine.
 quit :: MonadIO m => Engine -> m (Maybe ExitCode)
