no longer wipes the whole canvas on each redraw