cache data instead of refetching it again