minor updates, implemented do_copy