     }
 
     override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
-        // TODO
-        return tableView.numberOfRowsInSection(section)
+        return notes.count
     }
 
     override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
-        // TODO
-        return tableView.cellForRowAtIndexPath(indexPath)!
+        let cell = tableView.dequeueReusableCellWithIdentifier(MainViewController.NoteCellIdentifier)!
+
+        cell.textLabel!.text = notes[indexPath.row]["subject"] as? String
+        cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator
+
+        return cell
     }
 
     override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {


        tableView.dataSource = self
        tableView.delegate = self
    }

    override func viewWillAppear(animated: Bool) {

import HTTPRPC

class MainViewController: UITableViewController {
    var notes: [[String: AnyObject]] = []

    // TODO Move this to AppDelegate; see PDB example
    var serviceProxy: WSWebServiceProxy!

    static let NoteCellIdentifier = "noteCell"

    override func loadView() {
        view = LMViewBuilder.viewWithName("MainView", owner: self, root: nil)
    }
