add KPPlot protocol