fix update status bug && add disconnect func