move messy fav'ing to its own func