smart cache