             case .Exponential:
                 scaledControlAmount = controlAmount.denormalized(minimum: source,
                                                                  maximum: target,
-                                                                 taper: curvature)
+                                                                 taper: taper)
             case .EqualPower:
                 //direction will be negative if going up
                 scaledControlAmount = pow((0.5 + 0.5 * direction * cos(M_PI * controlAmount)), 0.5)

                                    target: Double,
                                    duration: Double = 1.0,
                                    type: CurveType = .Exponential,
                                    curvature: Double = 1.0,
                                    controlRate: Double = 1 / 60) -> [Double] {
        var curvePoints = [Double]()
        let stepCount = Int(floor(duration / controlRate))

    
    var controlRate: Double = 1 / 60 // 60 times per second
    var curveType: CurveType = .Linear
    var taper: Double = 0.5 //doesn't apply to linear
    var duration: Double = 1.0 //seconds
    var offset: Double = 0.0
    var stepCounter = 0
