added a scenegraph base class