parallel merge