implementing passchk