convert to batch operations