Adds testing, better handling of form errors.