 private func quadBroken (numbers: [CGFloat], lastCommand: SVGCommand?, coords: Coordinates) -> [SVGCommand] {
     return take(numbers, 4, lastCommand) {
         (nums:Slice<CGFloat>, last: SVGCommand?) -> SVGCommand in
-        
-        return SVGCommand(pointAtIndex(nums, 0), pointAtIndex(nums, 2), type: .QuadCurve)
+        return SVGCommand(nums[0], nums[1], nums[2], nums[3], type: .QuadCurve)
     }
 }
 

private func moveTo (numbers: [CGFloat], lastCommand: SVGCommand?, coords: Coordinates) -> [SVGCommand] {
    return take(numbers, 2, lastCommand) {
        (nums:Slice<CGFloat>, last: SVGCommand?) -> SVGCommand in
        return SVGCommand(pointAtIndex(nums, 0), type: .Move)
    }
}


private func lineToHorizontal (numbers: [CGFloat], lastCommand: SVGCommand?, coords: Coordinates) -> [SVGCommand] {
    return take(numbers, 1, lastCommand) {
        (nums:Slice<CGFloat>, last: SVGCommand?) -> SVGCommand in
        return SVGCommand(nums[0], coords == .Absolute ? last?.point.y ?? 0 : 0, type: .Line)
    }
}

