implement pass() in terms of timeout() - no more special "pass" state