Add PGN functionality