move to smart_redraw