parallel and merge