         return path
     }
 
-    class func bezierPathFromArray(array: [Int], shift: CGPoint = CGPointZero) -> UIBezierPath {
+    public class func bezierPathFromArray(array: [Int], shift: CGPoint = CGPointZero) -> UIBezierPath {
         return bezierPathFromData(bezierDataFromArray(array, shift: shift))
     }
     

        return (origin, points)
    }

    class func bezierPathFromData(data: BezierData) -> UIBezierPath {
        let path = UIBezierPath()
        path.moveToPoint(data.origin)
        for point in data.points {


import UIKit

public class BezierHelper {
    public typealias BezierPoint = (controlPoint1: CGPoint, controlPoint2: CGPoint, anchor: CGPoint)
    public typealias BezierData = (origin: CGPoint, points: [BezierPoint])

    public class func bezierDataFromArray(array: [Int], shift: CGPoint = CGPointZero) -> BezierData {
        var points = [BezierPoint]()

        if array.count % 6 != 2 {
