Refactor bunch of code, add cellDidLoad method