enhanced PGN file parsing