client separate threads functional