combine rows in memory, lazy create extractor