ModelViewer is working again but needs refactoring