also run in batches