fix md5 function