add a preprocessor