add nmf for kl divergence