implement a draft revision of DensityMap