one of main aims this patch -- forget use pipes. Open3 use pipes between chield and main process, and can't use here.