added selection(transformFn) and finishForm(onSetForm)