             view.frame = oldFrame
         }
     }
-    
+
+    ///  The layer’s position on the z axis. Animatable.
+    ///
+    ///  The default value of this property is 0. Changing the value of this property changes the the front-to-back ordering of layers onscreen. This can affect the visibility of layers whose frame rectangles overlap.
+    ///  The value of this property is measured in points.
     public dynamic var zPosition : Double {
         get {
             return Double(self.layer!.zPosition)

import UIKit

extension NSValue {
    convenience init(C4Point point: C4Point) {
        self.init(CGPoint: CGPoint(point))
    }
}

public class C4View : NSObject {
    public var view : UIView = UIView()
    
    public override init() {
    }
    

        }
    }

    ///  An optional view whose alpha channel is used to mask the receiver's content.
    ///
    ///  The mask view's alpha channel determines how much of the receiver's content and background shows through. Fully or partially opaque pixels allow the underlying content to show through but fully transparent pixels block that content.
    ///  The default value of this property is nil. When configuring a mask, remember to set the size and position of the mask layer to ensure it is aligned properly with the layer it masks.
    ///  The layer you assign to this property must not have a superlayer. If it does, the behavior is undefined.
    public var mask: C4View? {
        didSet {
            if let mask = mask, let _ = mask.view.superview {
