minimal viewer functionality