Added more preprocessor cleverness.