call 'update' instead of 'repaint'