changed cache interface to avoid confusing coverage