added gnmf