refactor recommendations