recommender work flow