better recommendation handling