improving form validation and errors, still need to work on form return