The code looks fine.. :?
Maybe, just to make the code ‘safer’ instead using while True, make it as while Waiting and instead Break set Waiting:= false.