more lazy loading for cache