support multiple preprocessors