mapping and cache