preprocessor needs lots of work