added caching of results of GetMarcStructure