added cache interface base template class