removed some use of the preprocessor