added several inter-process thread stuff