preprocessor fixes