improved forms, validation