refactored recommendations