updated: the  implementation for HashID is ok.