Maybe an iterator to avoid loading all into memory.