preserve input data