added waiter.done() in connection