         }
     }
     
-    /// drawLine: draws a stroke
-    /// - Parameter: stroke: the stroke to be drawn
-    /// - Returns: Void
+    /// draws a stroke
     private func drawLine(stroke: Stroke) -> Void {
         let properties = stroke.properties
         let array = stroke.points

    private var redoEnabled = false
    private var clearEnabled = false
    
    /// init: initializes a TouchDrawView instance
    /// - Parameter: frame: frame for the view to be initialized in
    override init(frame: CGRect) {
        super.init(frame: frame)
        initTouchDrawView()
    }
    
    /// init: initializes a TouchDrawView instance
    /// - Parameter: coder aDecoder: NSCoder to initialize the view
    required public init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        initTouchDrawView()
    }

    private func initTouchDrawView() {
        addSubview(mainImageView)
        addSubview(tempImageView)
        stack = []
    }
    
    override public func drawRect(rect: CGRect) {
        mainImageView.frame = rect
        tempImageView.frame = rect
    }
    
    private func mergeViews() {
        // Merge tempImageView into mainImageView
        UIGraphicsBeginImageContext(mainImageView.frame.size)
        mainImageView.image?.drawInRect(mainImageView.frame, blendMode: CGBlendMode.Normal, alpha: 1.0)
        tempImageView.image?.drawInRect(tempImageView.frame, blendMode: CGBlendMode.Normal, alpha: brushProperties.color.alpha)

        tempImageView.image = nil
    }
    
    /// removes the last stroke from stack
    internal func popDrawing() {
        let stroke = stack.last
        stack.popLast()
