     
 }
 
-// MARK: - UIGestureRecognizer
-
-extension CameraViewController {
-
+// MARK: - UIGestureRecognizerDelegate
+
+extension CameraViewController: UIGestureRecognizerDelegate {
+
+    internal func handleLongPressGestureRecognizer(_ gestureRecognizer: UIGestureRecognizer) {
+        
+    }
+    
+    internal func handleFocusTapGestureRecognizer(_ gestureRecognizer: UIGestureRecognizer) {
+        let tapPoint = gestureRecognizer.location(in: self.previewView)
+
+        // TODO: create focus view and animate
+        
+        let previewLayer = NextLevel.sharedInstance.previewLayer
+        let adjustedPoint = previewLayer.captureDevicePointOfInterest(for: tapPoint)
+        NextLevel.sharedInstance.focusExposeAndAdjustWhiteBalance(atAdjustedPoint: adjustedPoint)
+    }
+    
 }
 
-// MARK: - NextLevel
+// MARK: - NextLevelDelegate
 
 extension CameraViewController: NextLevelDelegate {
 

        }
        
        // gestures
        
    }


    
    // MARK: - properties
    
    internal var previewView: UIView?
    internal var gestureView: UIView?
    internal var controlDockView: UIView?

    internal var recordButton: UIButton?
    internal var flipButton: UIButton?
    internal var flashButton: UIButton?
    internal var saveButton: UIButton?

    internal var focusTapGestureRecognizer: UITapGestureRecognizer?
    internal var zoomPanGestureRecognizer: UIPanGestureRecognizer?
    internal var flipDoubleTapGestureRecognizer: UITapGestureRecognizer?
    
    // MARK: - object lifecycle
    
