cache is not abstract