add InterruptibleWait