implement primary deallocation

do you really need to use a ConcurrentHashMap? the assignmets/reads are locked anyway?