     
     //MARK: - Set size
     
-    func setSize (size:CGSize) {
-        var frame = self.frame
-        frame.size = size
-        self.frame = frame
+    var size: CGSize {
+        set (value) {
+            self.frame.size = size
+        }
+        
+        get {
+            return self.frame.size
+        }
     }
     
     var width:CGFloat {
         
         set (value) {
-            self.setSize(CGSizeMake(value, frame.size.height))
+            self.size = CGSizeMake(value, frame.size.height)
         }
         
         get {

    
    //MARK: - Set origin
    
    func setOrigin (origin:CGPoint) {
        var frame = self.frame
        frame.origin = origin
        self.frame = frame
    }
    
    var x:CGFloat {
        
        set (value) {
            self.setOrigin(CGPointMake(value, frame.origin.y))
        }
        
        get {

        return false
    }
    
    var allSubviews: [UIView] {
        var arr:[UIView] = [self]
        
        for view in subviews {
