add density function