add tree preprocessor