fix Waiter bug and add new Waiter