added some preprocessor magic for code-cleanup