now with better form error reporting