better cache for offline