maybe this didn't need to be preprocesed twice after all