add data preprocess functions