         self.p1 = points[1]
         self.p2 = points[2]
         self.p3 = points[3]
-    }
-    
-    public var startingPoint: BKPoint {
-        return p0
-    }
-    
-    public var endingPoint: BKPoint {
-        return p3
     }
     
     public init(p0: BKPoint, p1: BKPoint, p2: BKPoint, p3: BKPoint) {

        return temp1 + temp2 + temp3 + temp4
    }
    
    // -- MARK: Equatable
    
    public static func == (left: CubicBezierCurve, right: CubicBezierCurve) -> Bool {
        return left.p0 == right.p0 && left.p1 == right.p1 && left.p2 == right.p2 && left.p3 == right.p3

    public var order: Int {
        return 3
    }

    public var startingPoint: BKPoint {
        return p0
    }
    
    public var endingPoint: BKPoint {
        return p3
    }
    
    // MARK: - Initializers
    
    public init(points: [BKPoint]) {
        precondition(points.count == 4)
