add some code to let the engine load new models on the fly
break some parts of mars engine out to new gui class