favorites refactoring