Move viewer to own module