work on proper handling of disconnects of various reasons