explicit md5(undef) in remove(); copy() fixed so that it no longer claims to have succeeded when looking at the results of a previous attempt at the same copy that failed due to getting interuppted before the md5 check