better hash initialization