refactor recommendation model