matrix factorization for recommendations, update vg model, and some cleanup