         client.user() { response in
             switch response {
             case .Success(let user):
-                self.usernameLabel.text = "logged in as \(user().name)"
+                self.usernameLabel.text = "logged in as \(user.value.name)"
             case .Failure(let error):
                 self.usernameLabel.text = "cannot log in: \(error)"
             }

        client.roomList { response in
            switch response {
            case .Success(let many):
                let rooms = many().items
                NSLog("rooms: " + rooms.map{"\($0.name)(\($0.id))"}.description)
            case .Failure(let error):
                NSLog("failed to list rooms: \(error)")

        client.messageList(roomIDToPostField.text, count: 20, sinceID: nil, untilID: nil, order: .Desc) { response in
            switch response {
            case .Success(let many):
                let messages = many.value.items
                // NSLog("messages (\(messages.count)): \(messages)")
                self.messagesTextView.text = "\n".join(messages.map{"\($0.name): \($0.body)"})
            case .Failure(let error):
