     @IBInspectable var rotate: CGFloat = 0
     @IBInspectable var opacity: CGFloat = 1
     @IBInspectable var isFrom: Bool = false
+    @IBInspectable var curve: String = ""
+    
+    func getTimingFunction(curve: String) -> CAMediaTimingFunction {
+        switch curve {
+            case "easeIn":
+                return CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseIn)
+            case "easeOut":
+                return CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseOut)
+            case "easeInOut":
+                return CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
+            case "linear":
+                return CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
+            case "spring":
+                return CAMediaTimingFunction(controlPoints: 0.5, 1.1+Float(force/3), 1, 1)
+            default:
+                return CAMediaTimingFunction(name: kCAMediaTimingFunctionDefault)
+        }
+    }
+    func getAnimationOptions(curve: String) -> UIViewAnimationOptions {
+        switch curve {
+        case "easeIn":
+            return UIViewAnimationOptions.CurveEaseIn
+        case "easeOut":
+            return UIViewAnimationOptions.CurveEaseOut
+        case "easeInOut":
+            return UIViewAnimationOptions.CurveEaseInOut
+        case "linear":
+            return UIViewAnimationOptions.CurveLinear
+        case "spring":
+            return UIViewAnimationOptions.CurveLinear
+        default:
+            return UIViewAnimationOptions.CurveLinear
+        }
+    }
     
     func animate() {
         isFrom = false

        case "fadeOut":
            isFrom = false
            opacity = 0
        case "fadeInLeft":
            opacity = 0
            x = 300*force

            x.keyPath = "position.x"
            x.values = [0, 30*force, -30*force, 30*force, 0]
            x.keyTimes = [0, 0.2, 0.4, 0.6, 0.8, 1]
            x.timingFunction = getTimingFunction(curve)
            x.duration = CFTimeInterval(duration)
            x.additive = true
            x.repeatCount = 1
