new file:   NMF.py