updates to NMFmodel and Learner