why an iterable?