added apc caching functions