rework inter-process communication