!pass -> pass != NULL is wrong: !pass -> pass == NULL is correct. oops.