refactoring yay. split presentation from download and filter logic