Substantial update (by Hartley) to Preprocessors