diff --git a/render_povray/__init__.py b/render_povray/__init__.py
index 58f6040d8d82773bbe080c0ab163a2daca702364..f0734c5fe1d6233249c248ea7457b8c511697bb4 100755
--- a/render_povray/__init__.py
+++ b/render_povray/__init__.py
@@ -422,7 +422,7 @@ def unregister():
     scripting.unregister()
     base_ui.unregister()
     render.unregister()
-    scenography.register()
+    scenography.unregister()
     scripting_properties.unregister()
     object_properties.unregister()
     texturing_properties.unregister()
@@ -430,7 +430,7 @@ def unregister():
     scenography_properties.unregister()
     render_properties.unregister()
 
-    for cls in classes:
+    for cls in reversed(classes):
         unregister_class(cls)
 
 
diff --git a/render_povray/base_ui.py b/render_povray/base_ui.py
index f0e2cb2f04caa772745f1ab085aef81862e523d5..85374ba36a95ff836b06ab02b7ac96bfc61a8684 100755
--- a/render_povray/base_ui.py
+++ b/render_povray/base_ui.py
@@ -304,4 +304,4 @@ def unregister():
     shading_gui.unregister()
     object_gui.unregister()
     scenography_gui.unregister()
-    render_gui.register()
+    render_gui.unregister()
diff --git a/render_povray/object_gui.py b/render_povray/object_gui.py
index bc7df9f44a2118ed77c2040e7a317bf40528f17d..9fbf8a8b469a984fc682d180aa60449a43f8012b 100755
--- a/render_povray/object_gui.py
+++ b/render_povray/object_gui.py
@@ -34,11 +34,8 @@ from bl_ui import properties_data_modifier
 
 for member in dir(properties_data_modifier):
     subclass = getattr(properties_data_modifier, member)
-    try:
+    if hasattr(subclass, "COMPAT_ENGINES"):
         subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
-    except BaseException as e:
-        print(e.__doc__)
-        print('An exception occurred: {}'.format(e))
 del properties_data_modifier
 
 
diff --git a/render_povray/render_gui.py b/render_povray/render_gui.py
index 5148c0d94fc022c4d320999f1142ca70e0bd75a9..018821cb3d038c55043524d3df4520eb3c3ea87f 100755
--- a/render_povray/render_gui.py
+++ b/render_povray/render_gui.py
@@ -36,38 +36,26 @@ from bl_ui import properties_output
 
 for member in dir(properties_output):
     subclass = getattr(properties_output, member)
-    try:
+    if hasattr(subclass, "COMPAT_ENGINES"):
         subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
-    except BaseException as e:
-        print(e.__doc__)
-        print('An exception occurred: {}'.format(e))
-        pass
 del properties_output
 
 from bl_ui import properties_freestyle
 
 for member in dir(properties_freestyle):
     subclass = getattr(properties_freestyle, member)
-    try:
+    if hasattr(subclass, "COMPAT_ENGINES"):
         if not (subclass.bl_space_type == 'PROPERTIES' and subclass.bl_context == "render"):
             subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
             # subclass.bl_parent_id = "RENDER_PT_POV_filter"
-    except BaseException as e:
-        print(e.__doc__)
-        print('An exception occurred: {}'.format(e))
-        pass
 del properties_freestyle
 
 from bl_ui import properties_view_layer
 
 for member in dir(properties_view_layer):
     subclass = getattr(properties_view_layer, member)
-    try:
+    if hasattr(subclass, "COMPAT_ENGINES"):
         subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
-    except BaseException as e:
-        print(e.__doc__)
-        print('An exception occurred: {}'.format(e))
-        pass
 del properties_view_layer
 
 # Use some of the existing buttons.
@@ -452,17 +440,13 @@ if check_render_freestyle_svg():
     '''
     for member in dir(render_freestyle_svg):
         subclass = getattr(render_freestyle_svg, member)
-        try:
+        if hasattr(subclass, "COMPAT_ENGINES"):
             subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
             if subclass.bl_idname == "RENDER_PT_SVGExporterPanel":
                 subclass.bl_parent_id = "RENDER_PT_POV_filter"
                 subclass.bl_options = {'HIDE_HEADER'}
                 # subclass.bl_order = 11
                 print(subclass.bl_info)
-        except BaseException as e:
-            print(e.__doc__)
-            print('An exception occurred: {}'.format(e))
-            pass
 
     # del render_freestyle_svg.RENDER_PT_SVGExporterPanel.bl_parent_id
 
diff --git a/render_povray/scenography_gui.py b/render_povray/scenography_gui.py
index 307d8f41afb1280aa06d20940b7a755bf98b4638..6eb5aed907ea8c147b0c9fe14885e7925bbbc989 100755
--- a/render_povray/scenography_gui.py
+++ b/render_povray/scenography_gui.py
@@ -31,12 +31,8 @@ from bl_ui import properties_data_camera
 
 for member in dir(properties_data_camera):
     subclass = getattr(properties_data_camera, member)
-    try:
+    if hasattr(subclass, "COMPAT_ENGINES"):
         subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
-    except BaseException as e:
-        print(e.__doc__)
-        print('An exception occurred: {}'.format(e))
-        pass
 del properties_data_camera
 
 # ##################################
@@ -54,12 +50,8 @@ from bl_ui import properties_physics_common
 
 for member in dir(properties_physics_common):
     subclass = getattr(properties_physics_common, member)
-    try:
+    if hasattr(subclass, "COMPAT_ENGINES"):
         subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
-    except BaseException as e:
-        print(e.__doc__)
-        print('An exception occurred: {}'.format(e))
-        pass
 del properties_physics_common
 
 # Physics Rigid Bodies wrapping every class 'as is'
@@ -67,12 +59,8 @@ from bl_ui import properties_physics_rigidbody
 
 for member in dir(properties_physics_rigidbody):
     subclass = getattr(properties_physics_rigidbody, member)
-    try:
+    if hasattr(subclass, "COMPAT_ENGINES"):
         subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
-    except BaseException as e:
-        print(e.__doc__)
-        print('An exception occurred: {}'.format(e))
-        pass
 del properties_physics_rigidbody
 
 # Physics Rigid Body Constraint wrapping every class 'as is'
@@ -80,12 +68,8 @@ from bl_ui import properties_physics_rigidbody_constraint
 
 for member in dir(properties_physics_rigidbody_constraint):
     subclass = getattr(properties_physics_rigidbody_constraint, member)
-    try:
+    if hasattr(subclass, "COMPAT_ENGINES"):
         subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
-    except BaseException as e:
-        print(e.__doc__)
-        print('An exception occurred: {}'.format(e))
-        pass
 del properties_physics_rigidbody_constraint
 
 # Physics Smoke and fluids wrapping every class 'as is'
@@ -93,12 +77,8 @@ from bl_ui import properties_physics_fluid
 
 for member in dir(properties_physics_fluid):
     subclass = getattr(properties_physics_fluid, member)
-    try:
+    if hasattr(subclass, "COMPAT_ENGINES"):
         subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
-    except BaseException as e:
-        print(e.__doc__)
-        print('An exception occurred: {}'.format(e))
-        pass
 del properties_physics_fluid
 
 # Physics softbody wrapping every class 'as is'
@@ -106,12 +86,8 @@ from bl_ui import properties_physics_softbody
 
 for member in dir(properties_physics_softbody):
     subclass = getattr(properties_physics_softbody, member)
-    try:
+    if hasattr(subclass, "COMPAT_ENGINES"):
         subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
-    except BaseException as e:
-        print(e.__doc__)
-        print('An exception occurred: {}'.format(e))
-        pass
 del properties_physics_softbody
 
 # Physics Field wrapping every class 'as is'
@@ -119,12 +95,8 @@ from bl_ui import properties_physics_field
 
 for member in dir(properties_physics_field):
     subclass = getattr(properties_physics_field, member)
-    try:
+    if hasattr(subclass, "COMPAT_ENGINES"):
         subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
-    except BaseException as e:
-        print(e.__doc__)
-        print('An exception occurred: {}'.format(e))
-        pass
 del properties_physics_field
 
 # Physics Cloth wrapping every class 'as is'
@@ -132,12 +104,8 @@ from bl_ui import properties_physics_cloth
 
 for member in dir(properties_physics_cloth):
     subclass = getattr(properties_physics_cloth, member)
-    try:
+    if hasattr(subclass, "COMPAT_ENGINES"):
         subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
-    except BaseException as e:
-        print(e.__doc__)
-        print('An exception occurred: {}'.format(e))
-        pass
 del properties_physics_cloth
 
 # Physics Dynamic Paint wrapping every class 'as is'
@@ -145,24 +113,16 @@ from bl_ui import properties_physics_dynamicpaint
 
 for member in dir(properties_physics_dynamicpaint):
     subclass = getattr(properties_physics_dynamicpaint, member)
-    try:
+    if hasattr(subclass, "COMPAT_ENGINES"):
         subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
-    except BaseException as e:
-        print(e.__doc__)
-        print('An exception occurred: {}'.format(e))
-        pass
 del properties_physics_dynamicpaint
 
 from bl_ui import properties_particle
 
 for member in dir(properties_particle):  # add all "particle" panels from blender
     subclass = getattr(properties_particle, member)
-    try:
+    if hasattr(subclass, "COMPAT_ENGINES"):
         subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
-    except BaseException as e:
-        print(e.__doc__)
-        print('An exception occurred: {}'.format(e))
-        pass
 del properties_particle
 
 
@@ -795,6 +755,7 @@ def register():
 
 def unregister():
 
+    bpy.types.LIGHT_PT_POV_light.remove(light_panel_func)
     for cls in reversed(classes):
         unregister_class(cls)
-    bpy.types.LIGHT_PT_POV_light.remove(light_panel_func)
+
diff --git a/render_povray/scenography_properties.py b/render_povray/scenography_properties.py
index b45922eb29417c2ac6bdfed955de6e392788c807..dd88651354f6f1856b4127f558fd1f37e1574b06 100755
--- a/render_povray/scenography_properties.py
+++ b/render_povray/scenography_properties.py
@@ -353,125 +353,6 @@ class RenderPovSettingsWorld(PropertyGroup):
     )
 
 
-class WorldTextureSlot(PropertyGroup):
-    """Declare world texture slot level properties for UI and translated to POV."""
-
-    bl_idname = ("pov_texture_slots",)
-    bl_description = ("Texture_slots from Blender-2.79",)
-
-    # Adding a "real" texture datablock as property is not possible
-    # (or at least not easy through a dynamically populated EnumProperty).
-    # That's why we'll use a prop_search() UILayout function in texturing_gui.py.
-    # So we'll assign the name of the needed texture datablock to the below StringProperty.
-    texture: StringProperty(update=active_texture_name_from_uilist)
-    # and use another temporary StringProperty to change the linked data
-    texture_search: StringProperty(
-        name="", update=active_texture_name_from_search, description="Browse Texture to be linked"
-    )
-
-    blend_factor: FloatProperty(
-        name="Blend",
-        description="Amount texture affects color progression of the " "background",
-        soft_min=0.0,
-        soft_max=1.0,
-        default=1.0,
-    )
-
-    horizon_factor: FloatProperty(
-        name="Horizon",
-        description="Amount texture affects color of the horizon",
-        soft_min=0.0,
-        soft_max=1.0,
-        default=1.0,
-    )
-
-    object: StringProperty(
-        name="Object",
-        description="Object to use for mapping with Object texture coordinates",
-        default="",
-    )
-
-    offset: FloatVectorProperty(
-        name="Offset",
-        description=("Fine tune of the texture mapping X, Y and Z locations "),
-        precision=4,
-        step=0.1,
-        soft_min=-100.0,
-        soft_max=100.0,
-        default=(0.0, 0.0, 0.0),
-        options={"ANIMATABLE"},
-        subtype="TRANSLATION",
-    )
-
-    scale: FloatVectorProperty(
-        name="Size",
-        subtype="XYZ",
-        size=3,
-        description="Set scaling for the texture’s X, Y and Z sizes ",
-        precision=4,
-        step=0.1,
-        soft_min=-100.0,
-        soft_max=100.0,
-        default=(1.0, 1.0, 1.0),
-        options={"ANIMATABLE"},
-    )
-
-    texture_coords: EnumProperty(
-        name="Coordinates",
-        description="Texture coordinates used to map the texture onto the background",
-        items=(
-            ("VIEW", "View", "Use view vector for the texture coordinates"),
-            (
-                "GLOBAL",
-                "Global",
-                "Use global coordinates for the texture coordinates (interior mist)",
-            ),
-            (
-                "ANGMAP",
-                "AngMap",
-                "Use 360 degree angular coordinates, e.g. for spherical light probes",
-            ),
-            ("SPHERE", "Sphere", "For 360 degree panorama sky, spherical mapped, only top half"),
-            ("EQUIRECT", "Equirectangular", "For 360 degree panorama sky, equirectangular mapping"),
-            ("TUBE", "Tube", "For 360 degree panorama sky, cylindrical mapped, only top half"),
-            ("OBJECT", "Object", "Use linked object’s coordinates for texture coordinates"),
-        ),
-        default="VIEW",
-    )
-
-    use_map_blend: BoolProperty(
-        name="Blend Map", description="Affect the color progression of the background", default=True
-    )
-
-    use_map_horizon: BoolProperty(
-        name="Horizon Map", description="Affect the color of the horizon", default=False
-    )
-
-    use_map_zenith_down: BoolProperty(
-        name="", description="Affect the color of the zenith below", default=False
-    )
-
-    use_map_zenith_up: BoolProperty(
-        name="Zenith Up Map", description="Affect the color of the zenith above", default=False
-    )
-
-    zenith_down_factor: FloatProperty(
-        name="Zenith Down",
-        description="Amount texture affects color of the zenith below",
-        soft_min=0.0,
-        soft_max=1.0,
-        default=1.0,
-    )
-
-    zenith_up_factor: FloatProperty(
-        name="Zenith Up",
-        description="Amount texture affects color of the zenith above",
-        soft_min=0.0,
-        soft_max=1.0,
-        default=1.0,
-    )
-
-
 """
 # class WORLD_TEXTURE_SLOTS_UL_layerlist(bpy.types.UIList):
 #    texture_slots:
@@ -490,7 +371,6 @@ classes = (
     RenderPovSettingsCamera,
     RenderPovSettingsLight,
     RenderPovSettingsWorld,
-    WorldTextureSlot,
 )
 
 
@@ -501,14 +381,12 @@ def register():
     bpy.types.Camera.pov = PointerProperty(type=RenderPovSettingsCamera)
     bpy.types.Light.pov = PointerProperty(type=RenderPovSettingsLight)
     bpy.types.World.pov = PointerProperty(type=RenderPovSettingsWorld)
-    bpy.types.World.pov_texture_slots = CollectionProperty(type=WorldTextureSlot)
 
 
 def unregister():
     del bpy.types.Camera.pov
     del bpy.types.Light.pov
     del bpy.types.World.pov
-    del bpy.types.World.pov_texture_slots
 
     for cls in reversed(classes):
         unregister_class(cls)
diff --git a/render_povray/shading_gui.py b/render_povray/shading_gui.py
index 3df7f4a9685892c7c5d4dd3788a8e856af18b841..428542c83ac127fa78a2a6ac0876be4287b84065 100755
--- a/render_povray/shading_gui.py
+++ b/render_povray/shading_gui.py
@@ -29,16 +29,8 @@ from bl_ui import properties_material
 
 for member in dir(properties_material):
     subclass = getattr(properties_material, member)
-    try:
-        # mat=bpy.context.active_object.active_material
-        # if (mat and mat.pov.type == "SURFACE"
-        # and not (mat.pov.material_use_nodes or mat.use_nodes)):
-        # and (engine in cls.COMPAT_ENGINES)) if subclasses were sorted
+    if hasattr(subclass, "COMPAT_ENGINES"):
         subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
-    except BaseException as e:
-        print(e.__doc__)
-        print('An exception occurred: {}'.format(e))
-        pass
 del properties_material
 
 from .shading_properties import check_material
diff --git a/render_povray/texturing_gui.py b/render_povray/texturing_gui.py
index 6d12fb6202196ee171bc825df43c789f1de6548c..ad889f4327778ed6711cf2896c7404bbc9aac780 100755
--- a/render_povray/texturing_gui.py
+++ b/render_povray/texturing_gui.py
@@ -49,12 +49,8 @@ from bl_ui import properties_texture
 
 for member in dir(properties_texture):
     subclass = getattr(properties_texture, member)
-    try:
+    if hasattr(subclass, "COMPAT_ENGINES"):
         subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
-    except BaseException as e:
-        print(e.__doc__)
-        print('An exception occurred: {}'.format(e))
-        pass
 del properties_texture