Portable Game Notation (PGN) implementation in .NET