consumnumber has been simplified and consumhash can handle string key