using ConcurrentHashMap for decrease synchronization