add cache mode