refactoring, abstracting data processing away from view controllers