moved indexing toward a more batchable call path