     
     setupViewHierarchy()
     configureConstraints()
-    drawFoldingLayers()
+    self.foldingView.layer.addSublayer(drawFoldingLayers())
+    
+    let currentBounds: CGRect = self.foldingView.layer.bounds
+    
+    self.foldingView.layer.transform = CATransform3DIdentity
+    self.foldingView.layer.anchorPoint = CGPointMake(0.5, 0.0)
+    self.foldingView.layer.position = CGPointMake(0.0, -100.0)
+    UIView.animateWithDuration(2.0, animations: { () -> Void in
+      self.foldingView.layer.transform = CATransform3DMakeRotation(degreesToRadians(75.0), 1.0, 0.0, 0.0)
+      }) { (complete: Bool) -> Void in
+        
+    }
   }
   
   override func didReceiveMemoryWarning() {

    self.view.addSubview(foldingView)
  }
  
  internal func drawFoldingLayers() {
    let containerLayer: CALayer = CALayer()
    containerLayer.frame = self.foldingView.frame
    
    let topPath: UIBezierPath = UIBezierPath(rect: CGRectMake(0.0, 0.0, 100.0, 100.0))
    let bottomPath: UIBezierPath = UIBezierPath(rect: CGRectMake(0.0, 100.0, 100.0, 100.0))
    
    let topLayer: CAShapeLayer = CAShapeLayer()
    topLayer.path = topPath.CGPath
    topLayer.strokeColor = UIColor.redColor().CGColor
    topLayer.fillColor = UIColor.redColor().CGColor
    topLayer.lineWidth = 1.0
    
    let bottomLayer: CAShapeLayer = CAShapeLayer()
    bottomLayer.path = bottomPath.CGPath
    bottomLayer.strokeColor = UIColor.blueColor().CGColor
    bottomLayer.fillColor = UIColor.redColor().CGColor
    bottomLayer.lineWidth = 1.0
    
    containerLayer.addSublayer(topLayer)
    containerLayer.addSublayer(bottomLayer)

    topPath.stroke()
    bottomPath.stroke()
    
    return containerLayer
  }
  
  internal func topFoldAnimation(layer: CALayer) {
    let fold: CATransform3D = CATransform3DMakeRotation(degreesToRadians(75.0), 1.0, 0.0, 0.0)
    layer.anchorPoint = CGPointMake(0.5, 0.0) // top middle
    
    layer.transform = CATransform3DIdentity
    UIView.animateWithDuration(3.0) { () -> Void in
      layer.transform = fold
    }
  }
  
}
