separate PaintContext and PlotContext
cleanup imports/exports