background threaded client