weighted density update