In progress: replace all evals with preprocessor