preprocessor add