preprocess ok