TODO is repaint enough?