in-place modify elements instead of redrawing