take discount on previous weights; use BLAS; detect dying clusters