added parallel_copy