added preprocessor option