Add experimental cache system