First draft of NMF class