use multiprocessing.connection for IPC