+ update viewer