bug fixed with md5 hash calculation