 extension IssueViewController: UITableViewDelegate {
     
     func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
-        return IssueViewSection(rawValue: section)?.heightForHeaderInSection ?? 0
+        return IssueViewSection(rawValue: section).map {
+            switch $0 {
+            case .Info: return 210
+            case .Labels: return 56
+            }
+            } ?? 0
     }
     
     func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
-        return IssueViewSection(rawValue: section)?.viewForHeader(viewModel)
+        return IssueViewSection(rawValue: section).flatMap { sec in
+            switch sec {
+            case .Info:
+                let cell = UIView.getInstance(IssueInfoCellView.self)
+                if let issue = self.viewModel?.issue.value {
+                    cell?.bind(issue)
+                }
+                return cell
+            case .Labels:
+                let cell = UIView.getInstance(HeaderCellView.self)
+                cell?.bind("Labels")
+                return cell
+            }
+        }
     }
     
     func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
-        return IssueViewSection(rawValue: indexPath.section)?.heightForRow ?? 0
+        return IssueViewSection(rawValue: indexPath.section).map {
+            switch $0 {
+            case .Info: return 82
+            case .Labels: return 75
+            }
+        } ?? 0
     }
     
 }

extension IssueViewController: UITableViewDataSource {
    
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return IssueViewSection(rawValue: section)?.numberOfRowsInSection(viewModel) ?? 0
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        return IssueViewSection(rawValue: indexPath.section)?.cellForRow(viewModel, indexPath: indexPath) ?? UITableViewCell()
    }
    


    case Info = 0
    case Labels = 1
    
}
