hash map without iterator