         cameraButton.enabled = true
     }
 
+    internal func rotate() {
+        let rotation = currentRotation()
+        let rads = CGFloat(radians(rotation))
+        
+        UIView.animateWithDuration(0.3) {
+            self.cameraButton.transform = CGAffineTransformMakeRotation(rads)
+            self.closeButton.transform = CGAffineTransformMakeRotation(rads)
+            self.swapButton.transform = CGAffineTransformMakeRotation(rads)
+            self.libraryButton.transform = CGAffineTransformMakeRotation(rads)
+        }
+    }
+    
     private func checkPermissions() {
         if AVCaptureDevice.authorizationStatusForMediaType(AVMediaTypeVideo) != .Authorized {
             AVCaptureDevice.requestAccessForMediaType(AVMediaTypeVideo) { granted in

        flashButton.action = toggleFlash
        
        checkPermissions()
        
        cameraView.configureFocus()
    }
    
    public override func viewWillAppear(animated: Bool) {

    }
    
    override public func updateViewConstraints() {
        print("updateViewConstraints")
        if !didUpdateViews {
            print("updateViewConstraints update")
            configCameraViewConstraints()
            configCameraButtonConstraints()
            configSwapButtonConstraints()
