user can't leave the fields empty