Niall's preprocessor