split out entity rendering into subclasses, improved rendering of models