fixed file download, added md5 check, and allowed update of same file name