working client except up to dealing with packet loss/yield, timeouts