cleaning up PSUL and making it easy to do the 20158 switch

I don't think you're actually using the `output_f` parameter in this `main` function. Or?