using 'struct' for reduce looks up in the map.