major refactoring of logic in cellForRowAtIndexPath. much cleaner now