almost nothing
improve ClientThread