refactor personal rank recommender