Restructured into RenderEngine object