Complete re-write of newsfeatures.py and nnmf.py