added hash support