fixed up handling of destination file already existing, courtesy jws