breaking out preprocessors