Added ModelViewer and separated parsing and loading code