added Density()