more granular cache for tiny speed up