updated viewer