refactor BatchOperation to DataBatchOperation