threads can't be restarted; create a new one for each communication