implement crc caching to prevent unnecessary map operations