begin cache system