use ConcurrentHashMap, update some variable names for clarity