simpler dynamic batching