     return CGRect(x: 0, y: topMargin, width: cardStackView.frame.width, height: cardStackView.frame.height)
   }
   
-  private func createCard(topMargin: CGFloat) -> Card {
+  private func createCard(user: User) -> Card {
     let cardView = CardView()
-    let swipeView = SwipeView(frame: createCardFrame(topMargin))
+    cardView.name = user.name
+    user.getPhoto({
+      image in
+      cardView.image = image
+    })
+    
+    let swipeView = SwipeView(frame: createCardFrame(0))
     swipeView.delegate = self
     swipeView.innerView = cardView
-    return Card(cardView: cardView, swipeView: swipeView)
+    return Card(cardView: cardView, swipeView: swipeView, user: user)
+  }
+  
+  private func popCard() -> Card? {
+    if users != nil && users?.count > 0 {
+      return createCard(users!.removeLast())
+    }
+    return nil
   }
 }
 

  struct Card {
    let cardView: CardView
    let swipeView: SwipeView
  }
  
  let frontCardTopMargin: CGFloat = 0.0

    
    // Do any additional setup after loading the view.
    cardStackView.backgroundColor = UIColor.clearColor()
        
    fetchUnviewedUsers({
      users in
      self.users = users
