 
 
 // MARK: Custom Ease
-func customEase(_ time: Float, easingParam: [Float]) -> Float {
+public func customEase(_ time: Float, easingParam: [Float]) -> Float {
     guard easingParam.count == 8 else {
         print("WARNING: Wrong easing param")
         return time

}

// MARK: Cubic Ease
func cubicEaseIn(_ time: Float) -> Float {
    return time * time * time
}

func cubicEaseOut(_ time: Float) -> Float {
    var time = time
    time -= 1
    return (time * time * time + 1)
}

func cubicEaseInOut(_ time: Float) -> Float {
    var time = time * 2
    if time < 1 {
        return 0.5 * time * time * time

    return newT
}

public func elasticEaseOut(_ time: Float, period: Float) -> Float {
    var newT: Float = 0
    if time == 0 || time == 1 {
        newT = time
