split out cache