add user preprocess