refactored to use CancelableThreads, made customer serialization log for disco nodes and other minor feedback