cache is split in two classes