Added async tasks to handle caching