interface and viewer replacement. lets go with new viewer. change if
disagree