         
         if array.count == 1 {
             // Draw the one point
-            let pointStr = array[0] as! String
+            let pointStr = array[0] 
             let point = CGPointFromString(pointStr)
             drawLineFrom(point, toPoint: point, properties: properties)
         }
         
         for i in 0 ..< array.count - 1 {
-            let pointStr0 = array[i] as! String
-            let pointStr1 = array[i+1] as! String
+            let pointStr0 = array[i] 
+            let pointStr1 = array[i+1] 
             
             let point0 = CGPointFromString(pointStr0)
             let point1 = CGPointFromString(pointStr1)

            drawLineFrom(lastPoint, toPoint: currentPoint, properties: brushProperties)
            
            lastPoint = currentPoint
            pointsArray.addObject(NSStringFromCGPoint(lastPoint))
        }
    }
    

}

/// properties to describe the brush
public class BrushProperties {
    /// color of the brush
    internal var color: CIColor!
    /// width of the brush
    internal var width: CGFloat!
    
    init() {
        self.color = CIColor(color: UIColor.blackColor())
        self.width = CGFloat(10.0)
    }
    init(properties: BrushProperties) {
        self.color = properties.color
        self.width = properties.width
    }
    init(color: CIColor, width: CGFloat) {
        self.color = color
        self.width = width
    }
}

/// a drawing stroke
public class Stroke {
    /// the points that make up the stroke
    internal var points: [String]!
    /// the properties of the stroke
    internal var properties: BrushProperties!
    
    init() {
        self.points = []
        self.properties = BrushProperties()
    }
    
    init(points: [String], properties: BrushProperties) {
        self.points = points
        self.properties = properties
    }
}

