Preserving a feature while you map a batch

def prepare_dataset(batch):
    audio = batch["audio"]

    # batched output is "un-batched" to ensure mapping is correct
    batch["input_values"] = processor(audio["array"], sampling_rate=audio["sampling_rate"]).input_values[0]
    # print(batch["input_values"])
    batch["input_length"] = len(batch["input_values"])
    
    # with processor.as_target_processor():
    #     batch["labels"] = processor(batch["text"]).input_ids
    batch["text2"] = batch["text"]
    return batch
timit2 = timit.map(prepare_dataset, remove_columns=timit.column_names["train"], num_proc=4)

I wanted to map the input_values and the input_length and to preserve the “text” key. If I don’t give the batch value of text, it doesn’t keep it when the mapping is finished. How can I preserve a feature when I map without using a redundant key like “text2”?