does this need to be calculated on the fly each time or can we save the iterable?