Preprocessor work implemented but haven't tested yet.