Rerun implementation,
Waiters implementation,
Change some logic for tests