Project 3 preprocessor