allow writing back to the input file