refactor Viewport, remove rendering of doubled-up rowcount