                                 Draw.drawCurve(context, curve: curve)
                             }
         })
-        let demo15 = Demo(title: ".arcs() and .arcs(threshold)",
+        let demo15 = DualDrawFuncDemo(title: ".arcs() and .arcs(threshold)",
                           quadraticControlPoints: [],
                           quadraticDrawFunction: {[unowned self](context: CGContext, demo: Demo) in },
                           cubicControlPoints: controlPoints,

                                Draw.drawLine(context, from: BKPoint(mouse), to: p)
                            }
        })
        let demo13 = Demo(title: ".offset(d) and .offset(t, d)",
                          quadraticControlPoints: [],
                          quadraticDrawFunction: {[unowned self](context: CGContext, demo: Demo) in },
                          cubicControlPoints: controlPoints,

                            Draw.drawHull(context, hull: hull);
                            Draw.drawCircle(context, center: hull[hull.count-1], radius: 5);
        })
        let demo12 = DualDrawFuncDemo(title: ".project(point)",
                          quadraticControlPoints: [],
                          quadraticDrawFunction: {[unowned self](context: CGContext, demo: Demo) in },
                          cubicControlPoints: hullPoints,
