added hash generating
fixed merge conflict