add reusable waitUntil and unlimited waits