add function new_cache()