changed IO system to use threads per client