now each source return an iterable of results