preprocessing
