       make.left.right.bottom.equalTo(self.view)
     }
     
+    self.view.layoutIfNeeded()
+  }
+  
+  internal func drawSmileyFace(view: UIView) {
+    let midX = CGRectGetMidX(view.bounds)
+    let midY = CGRectGetMidY(view.bounds)
+    let quarterW = CGRectGetWidth(view.bounds) / 4.0
+    let quarterH = CGRectGetHeight(view.bounds) / 4.0
+    
+    let path: UIBezierPath = UIBezierPath(ovalInRect: CGRectInset(view.bounds, 1, 1)) // inset by 1 b/c of 2pt line width
+    
+    let circle: CAShapeLayer = CAShapeLayer()
+    circle.path = path.CGPath
+    circle.fillColor = UIColor.yellowColor().CGColor
+    circle.strokeColor = UIColor.yellowColor().CGColor
+    circle.lineWidth = 2.0
+    
+    let leftEye: UIBezierPath = UIBezierPath(ovalInRect: CGRectMake(quarterW, quarterH - 15.0, 20.0, 40.0))
+    let leftEyeLayer: CAShapeLayer = CAShapeLayer()
+    leftEyeLayer.path = leftEye.CGPath
+    leftEyeLayer.strokeColor = UIColor.blackColor().CGColor
+    leftEyeLayer.fillColor = UIColor.blackColor().CGColor
+    leftEyeLayer.lineWidth = 1.0
+    
+    circle.addSublayer(leftEyeLayer)
+    
+    let rightEye: UIBezierPath = UIBezierPath(ovalInRect: CGRectMake(midX + (midX - quarterW) - 15.0, quarterH - 15.0 , 20.0, 40.0))
+    let rightEyeLayer: CAShapeLayer = CAShapeLayer()
+    rightEyeLayer.path = rightEye.CGPath
+    rightEyeLayer.strokeColor = UIColor.blackColor().CGColor
+    rightEyeLayer.fillColor = UIColor.blackColor().CGColor
+    rightEyeLayer.lineWidth = 1.0
+    
+    circle.addSublayer(rightEyeLayer)
+    
+    let smile: UIBezierPath = UIBezierPath(arcCenter: CGPointMake(midX, midY), radius: quarterW, startAngle: 0.0, endAngle: CGFloat(M_PI), clockwise: true)
+    
+    let smileLayer: CAShapeLayer = CAShapeLayer()
+    smileLayer.path = smile.CGPath
+    smileLayer.strokeColor = UIColor.blackColor().CGColor
+    smileLayer.fillColor = UIColor.yellowColor().CGColor
+    smileLayer.lineWidth = 3.0
+    smileLayer.lineCap = kCALineCapRound
+    
+    circle.addSublayer(smileLayer)
+    
+//    view.layer.backgroundColor = UIColor.redColor().CGColor
+    view.layer.addSublayer(circle)
   }
   
   internal func setupViewHierarchy() {
-    self.view.addSubview(simulationView)
     self.view.addSubview(gridView)
+    self.gridView.addSubview(simulationView)
     self.view.addSubview(bottomView)
   }
   

    
    self.gridView.snp_makeConstraints { (make) -> Void in
      make.top.left.right.equalTo(self.view)
      make.height.equalTo(220.0)
    }
    
    self.bottomView.snp_makeConstraints { (make) -> Void in

    
    self.setupViewHierarchy()
    self.configureConstraints()
    self.addTapGestureToView()
    self.drawSmileyFace(self.simulationView)
  }
  
  override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
    
    self.simulationView.clipsToBounds = false
    self.simulationView.layer.masksToBounds = false
  
  }
  
  override func didReceiveMemoryWarning() {
