will fail if thread is falsy