refactor FrameViewer
refactor FrameViewer