added hash.h