added hash method