nice preprocessor directives