completed recommender — not optimized