add clear_cache func