preprocessor scheme