better viewer instance support