add disconnect handling