new NMF code and PCL classes