using inline error messages rather than alerts