scratch that -- factoring out function-form creation