organized viewers into separate modules; need to fix in waterapputils.py