add disconnect func