added requisite caching functions