hashing speedup
more scalable using distinct keys, one per map call