diff --git a/archipack/archipack_cutter.py b/archipack/archipack_cutter.py
index b75dc4cfd85e0c192be41fe5d0a09e463ee21910..ec43ad19d71aeb2a1aa6fccce74c4a3effd28fd6 100644
--- a/archipack/archipack_cutter.py
+++ b/archipack/archipack_cutter.py
@@ -144,7 +144,7 @@ class CutterGenerator():
             manipulators[1].prop1_name = "length"
             manipulators[1].set_pts([p0, p1, (side, 0, 0)])
 
-            # snap manipulator, dont change index !
+            # snap manipulator, don't change index !
             manipulators[2].set_pts([p0, p1, (side, 0, 0)])
             # dumb segment id
             manipulators[3].set_pts([p0, p1, (side, 0, 0)])
diff --git a/archipack/archipack_fence.py b/archipack/archipack_fence.py
index 3630e00e6ef8315ba8eaadb15f7fea865f1b73d7..2cd9e227a5e6856900d74f99e0b4e7f272cbbdf1 100644
--- a/archipack/archipack_fence.py
+++ b/archipack/archipack_fence.py
@@ -226,7 +226,7 @@ class FenceGenerator():
                 manipulators[1].prop2_name = "radius"
                 manipulators[1].set_pts([f.c.to_3d(), v0, v1])
 
-            # snap manipulator, dont change index !
+            # snap manipulator, don't change index !
             manipulators[2].set_pts([p0, p1, (1, 0, 0)])
 
         f = self.segs[-1]
@@ -450,7 +450,7 @@ class FenceGenerator():
                     f = self.segs[i]
                     if f.t_end < t_end:
                         if type(f).__name__ == 'CurvedFence':
-                            # cant end after segment
+                            # can't end after segment
                             t0 = max(0, (t_cur - f.t_start) / f.t_diff)
                             t1 = min(1, (t_end - f.t_start) / f.t_diff)
                             n_s = int(max(1, abs(f.da) * (5) / pi - 1))
@@ -471,7 +471,7 @@ class FenceGenerator():
                 f = self.segs[i]
                 # last section
                 if type(f).__name__ == 'CurvedFence':
-                    # cant start before segment
+                    # can't start before segment
                     t0 = max(0, (t_cur - f.t_start) / f.t_diff)
                     t1 = min(1, (t_end - f.t_start) / f.t_diff)
                     n_s = int(max(1, abs(f.da) * (5) / pi - 1))
diff --git a/archipack/archipack_keymaps.py b/archipack/archipack_keymaps.py
index 3292e0d75f80924a226a969c0d1256b665324a15..f5b95957dd601d75fcaa8316a5e131f8e353c5c7 100644
--- a/archipack/archipack_keymaps.py
+++ b/archipack/archipack_keymaps.py
@@ -104,7 +104,7 @@ class Keymaps:
 
     def dump_keys(self, context, filename="/tmp/keymap.txt"):
         """
-            Utility for developpers :
+            Utility for developers :
             Dump all keymaps to a file
             filename : string a file path to dump keymaps
         """
diff --git a/archipack/archipack_manipulator.py b/archipack/archipack_manipulator.py
index 60a05738172bb3bb19d8a0cc2647495459074ac6..0eba8abaa7916d9c43bf85236d79099a909ec4a3 100644
--- a/archipack/archipack_manipulator.py
+++ b/archipack/archipack_manipulator.py
@@ -263,7 +263,7 @@ class Manipulator():
 
     def exit(self):
         """
-            Modal exit, DONT EVEN TRY TO OVERRIDE
+            Modal exit, DON'T EVEN TRY TO OVERRIDE
         """
         if self._handle is not None:
             bpy.types.SpaceView3D.draw_handler_remove(self._handle, 'WINDOW')
@@ -2184,7 +2184,7 @@ class Manipulable():
         """
             call this in operator invoke()
             NB:
-            if override dont forget to call:
+            if override don't forget to call:
                 _manipulable_invoke(context)
 
         """
diff --git a/archipack/archipack_material.py b/archipack/archipack_material.py
index 71e41f3257673432f0eba77ad02141b2a9115135..27aaefabf0303dda16dcc2808fe191734bfc2495 100644
--- a/archipack/archipack_material.py
+++ b/archipack/archipack_material.py
@@ -149,7 +149,7 @@ class MatlibsManager():
         """
             Add material library to list
             only store name of lib
-            reloading here dosent make sense
+            reloading here doesn't make sense
         """
         loaded_path = self.loaded_path
 
diff --git a/archipack/archipack_rendering.py b/archipack/archipack_rendering.py
index 82ef9a18ac74d7788eeb1d4a1afc49b5767e8070..09650ec8440f3a3b08121c9932c732174873a3f6 100644
--- a/archipack/archipack_rendering.py
+++ b/archipack/archipack_rendering.py
@@ -102,7 +102,7 @@ class ARCHIPACK_OT_render_thumbs(Operator):
         presets_path = bpy.utils.user_resource('SCRIPTS',
                                               target_path,
                                               create=True)
-        # files from factory not found in user dosent require a recompute
+        # files from factory not found in user doesn't require a recompute
         skipfiles = []
         for f in file_list:
             # copy python/txt preset
diff --git a/archipack/archipack_slab.py b/archipack/archipack_slab.py
index 897686daf67607f7ab025f33969957aca780bb3f..ae1d7be4e94d8c44a6e31649ac5c5a2f842dc938 100644
--- a/archipack/archipack_slab.py
+++ b/archipack/archipack_slab.py
@@ -182,7 +182,7 @@ class SlabGenerator(CutAblePolygon, CutAbleGenerator):
                 manipulators[1].prop2_name = "radius"
                 manipulators[1].set_pts([f.c.to_3d(), v0, v1])
 
-            # snap manipulator, dont change index !
+            # snap manipulator, don't change index !
             manipulators[2].set_pts([p0, p1, (1, 0, 0)])
             # dumb segment id
             manipulators[3].set_pts([p0, p1, (1, 0, 0)])
diff --git a/archipack/archipack_wall2.py b/archipack/archipack_wall2.py
index 2e3cc2416a79b1f38c74aa77d8bc96381e3f30b5..d9a486ebbb4e0d0c5877350a5893d199b2e47d60 100644
--- a/archipack/archipack_wall2.py
+++ b/archipack/archipack_wall2.py
@@ -275,7 +275,7 @@ class WallGenerator():
                 manipulators[1].prop2_name = "radius"
                 manipulators[1].set_pts([wall.c.to_3d(), scale * v0, scale * v1])
 
-            # snap manipulator, dont change index !
+            # snap manipulator, don't change index !
             manipulators[2].set_pts([p0, p1, (1, 0, 0)])
 
             # dumb, segment index
@@ -436,7 +436,7 @@ def update_t_part(self, context):
             # 2 o has parent
             # 3 w has parent
             # 4 o and w share same parent already
-            # 5 o and w dosent share parent
+            # 5 o and w doesn't share parent
             link_to_parent = False
 
             # when both walls do have a reference point, we may delete one of them
@@ -1620,7 +1620,7 @@ class archipack_wall2(ArchipackObject, Manipulable, PropertyGroup):
         self.setup_childs(o, g)
         # store gl points
         self.update_childs(context, o, g)
-        # dont do anything ..
+        # don't do anything ..
         # self.manipulable_release(context)
         # self.manipulate_mode = True
         self.manipulable_setup(context)
@@ -1669,7 +1669,7 @@ class ARCHIPACK_OT_wall2_throttle_update(Operator):
     def modal(self, context, event):
         global update_timer_updating
         if event.type == 'TIMER' and not update_timer_updating:
-            # cant rely on TIMER event as another timer may run
+            # can't rely on TIMER event as another timer may run
             if time.time() - throttle_start > throttle_delay:
                 update_timer_updating = True
                 o = context.scene.objects.get(self.name.strip())
diff --git a/blenderkit/download.py b/blenderkit/download.py
index cb00341cbf979e0dc5ec5e868b8c935e2fdcd671..b3ecbeab458e814657bb06f1da8102b22d46d083 100644
--- a/blenderkit/download.py
+++ b/blenderkit/download.py
@@ -869,7 +869,7 @@ class BlenderkitDownloadOperator(bpy.types.Operator):
         s = bpy.context.scene
         sr = s['search results']
 
-        asset_data = sr[self.asset_index].to_dict()  # TODO CHECK ALL OCCURANCES OF PASSING BLENDER ID PROPS TO THREADS!
+        asset_data = sr[self.asset_index].to_dict()  # TODO CHECK ALL OCCURRENCES OF PASSING BLENDER ID PROPS TO THREADS!
         au = s.get('assets used')
         if au == None:
             s['assets used'] = {}
diff --git a/blenderkit/paths.py b/blenderkit/paths.py
index 3aa7aaa96973234cf67ba6306fb58c42c1cb44ba..4a9a2cd6c2122e6337ae9df45d8e35fb5e1e829d 100644
--- a/blenderkit/paths.py
+++ b/blenderkit/paths.py
@@ -164,7 +164,7 @@ def get_download_filenames(asset_data):
     file_names = []
     # fn = asset_data['file_name'].replace('blend_', '')
     if asset_data.get('url') is not None:
-        # this means asset is already in scene and we don't nedd to check
+        # this means asset is already in scene and we don't need to check
 
         fn = extract_filename_from_url(asset_data['url'])
         fn.replace('_blend', '')
diff --git a/blenderkit/search.py b/blenderkit/search.py
index 83bdb2ecba3cd0b4d189be6ac8736c0b500486a1..8e0c014095de26437fed87d1fe3182c4c12ce0fa 100644
--- a/blenderkit/search.py
+++ b/blenderkit/search.py
@@ -122,9 +122,8 @@ def timer_update():  # TODO might get moved to handle all blenderkit stuff.
     # causing a lot of throuble literally.
     if len(search_threads) == 0 or bpy.context.scene.blenderkitUI.dragging:
         return 1
-    for thread in search_threads:  # TODO this doesn't check all processess when one gets removed, but most time only
-        # one is running anyway
-
+    for thread in search_threads:  # TODO this doesn't check all processes when one gets removed,
+                                   # but most of the time only one is running anyway
         if not thread[0].is_alive():
             print('parsing')
             search_threads.remove(thread)  #
@@ -808,7 +807,7 @@ class Searcher(threading.Thread):
         full_thbs = zip(thumb_full_filepaths, thumb_full_urls)
 
         # we save here because a missing thumbnail check is in the previous loop
-        # we can also prepend previous results. These have already thumbnails downloaded...
+        # we can also prepend previous results. These have downloaded thumbnails already...
         if params['get_next']:
             rdata['results'][0:0] = origdata['results']
 
diff --git a/blenderkit/ui.py b/blenderkit/ui.py
index e35a929864c34ad9c544978bef691f779e10c7e1..e4eea0c1b1a4fe7c2e4dd0b2a4d032ae12a567f2 100644
--- a/blenderkit/ui.py
+++ b/blenderkit/ui.py
@@ -271,7 +271,7 @@ def draw_ratings_bgl():
             ui_img_name = 'rating_ui.png'
         else:
             ui_img_name = 'rating_ui_empty.png'
-            text = 'Try to estimate how many hours it would take to a proffesional artist to create this asset:'
+            text = 'Try to estimate how many hours it would take for a professional artist to create this asset:'
             tx = ui.rating_x + ui.workhours_bar_x
             # draw_text_block(x=tx, y=ui.rating_y, width=80, font_size=20, line_height=15, text=text, color=colors.TEXT)
 
diff --git a/curve_tools/Curves.py b/curve_tools/Curves.py
index e2608eeb4e3a4d23aa524850c756d95bdcaf5bc7..d5608e3c3b088eaecf6b87e042b5f55f7f191e2e 100644
--- a/curve_tools/Curves.py
+++ b/curve_tools/Curves.py
@@ -390,7 +390,7 @@ class BezierSpline:
         self.segments.append(BezierSegment(self.segments[-1].bezierPoint2, spline2.segments[0].bezierPoint1))
         for seg2 in spline2.segments: self.segments.append(seg2)
 
-        self.resolution += spline2.resolution    # extra segment will usually be short -- impact on resolution negligable
+        self.resolution += spline2.resolution    # extra segment will usually be short -- impact on resolution negligible
 
         self.isCyclic = False    # is this ok?
 
diff --git a/curve_tools/ShowCurveResolution.py b/curve_tools/ShowCurveResolution.py
index 692717044024b2240a869423d1fe53a7c478d1cf..6386fe4d4eba13e6e2c7ae4664018e41bb3233d1 100644
--- a/curve_tools/ShowCurveResolution.py
+++ b/curve_tools/ShowCurveResolution.py
@@ -18,7 +18,7 @@
 #
 
 
-# LOAD MODUL #
+# LOAD MODULE #
 import bpy
 from bpy import *
 from bpy.props import *
diff --git a/curve_tools/cad.py b/curve_tools/cad.py
index c71bd46dbcc405dca0caa9852e8e4eb0131a785e..288f91497dae957f0aadfbcdbd7d21b05c86e080 100644
--- a/curve_tools/cad.py
+++ b/curve_tools/cad.py
@@ -37,7 +37,7 @@ class Fillet(bpy.types.Operator):
 
     radius: bpy.props.FloatProperty(name='Radius', description='Radius of the rounded corners', unit='LENGTH', min=0.0, default=0.1)
     chamfer_mode: bpy.props.BoolProperty(name='Chamfer', description='Cut off sharp without rounding', default=False)
-    limit_half_way: bpy.props.BoolProperty(name='Limit Half Way', description='Limits the segements to half their length in order to prevent collisions', default=False)
+    limit_half_way: bpy.props.BoolProperty(name='Limit Half Way', description='Limits the segments to half their length in order to prevent collisions', default=False)
 
     @classmethod
     def poll(cls, context):
diff --git a/curve_tools/curve_remove_doubles.py b/curve_tools/curve_remove_doubles.py
index ca26895b4011e3ff8ce8ae5b7f0b209cf42e056a..373b69c941e5e85d3caf61e82f6bd1baa44e5af3 100644
--- a/curve_tools/curve_remove_doubles.py
+++ b/curve_tools/curve_remove_doubles.py
@@ -7,7 +7,7 @@ bl_info = {
     'version': (1, 1),
     'blender': (2, 80, 0),
     'location': 'View3D > Context menu (W/RMB) > Remove Doubles',
-    'description': 'Adds comand "Remove Doubles" for curves',
+    'description': 'Adds command "Remove Doubles" for curves',
     'category': 'Object'
 }
 
diff --git a/io_scene_fbx/export_fbx_bin.py b/io_scene_fbx/export_fbx_bin.py
index 12f29092ed2a024eeee145b7612842fe510b713d..e4d0feb33a2760ae30957af4fcfbb869ab44acf3 100644
--- a/io_scene_fbx/export_fbx_bin.py
+++ b/io_scene_fbx/export_fbx_bin.py
@@ -1070,7 +1070,7 @@ def fbx_data_mesh_elements(root, me_obj, scene_data, done_meshes):
         if scene_data.settings.use_tspace:
             tspacenumber = len(me.uv_layers)
             if tspacenumber:
-                # We can only compute tspace on tesellated meshes, need to check that here...
+                # We can only compute tspace on tessellated meshes, need to check that here...
                 t_lt = [None] * len(me.polygons)
                 me.polygons.foreach_get("loop_total", t_lt)
                 if any((lt > 4 for lt in t_lt)):
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather.py
index 92fa9ce2c3ee891345cd3899957ec66cf0c9c919..2e4bfe313a4d60ec58a5115415872fc083a80de4 100755
--- a/io_scene_gltf2/blender/exp/gltf2_blender_gather.py
+++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather.py
@@ -71,7 +71,7 @@ def __gather_animations(blender_scene, export_settings):
             animations += animations_
 
     if export_settings['gltf_nla_strips'] is False:
-        # Fake an animation witha all animations of the scene
+        # Fake an animation with all animations of the scene
         merged_tracks = {}
         merged_tracks['Animation'] = []
         for idx, animation in enumerate(animations):
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py
index 2456462189b9c39c6f2c6b959b031e882343ab15..327450277a9e98770925a232fd088dd91d07c7c1 100755
--- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py
+++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py
@@ -281,7 +281,7 @@ def __gather_mesh(blender_object, export_settings):
 
     # retrieve armature
     # Because mesh data will be transforms to skeleton space,
-    # we can't instanciate multiple object at different location, skined by same armature
+    # we can't instantiate multiple object at different location, skined by same armature
     blender_object_for_skined_data = None
     if export_settings[gltf2_blender_export_keys.SKINS]:
         for idx, modifier in enumerate(blender_object.modifiers):
diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_gltf.py b/io_scene_gltf2/blender/imp/gltf2_blender_gltf.py
index c0507c032cd27956d121a17731092e9aa59d09e5..1bccf9a20cfc72750d46fc210bef9eea53f8e1ec 100755
--- a/io_scene_gltf2/blender/imp/gltf2_blender_gltf.py
+++ b/io_scene_gltf2/blender/imp/gltf2_blender_gltf.py
@@ -60,7 +60,7 @@ class BlenderGlTF():
         #          Bone head defined a point
         #          Calcul of distance between point and line
         #          If < threshold --> In a chain
-        # Based on an idea of @Menithal, but added alignement detection to avoid some bad cases
+        # Based on an idea of @Menithal, but added alignment detection to avoid some bad cases
 
         threshold = 0.001
         for armobj in [obj for obj in bpy.data.objects if obj.type == "ARMATURE"]:
diff --git a/io_scene_obj/import_obj.py b/io_scene_obj/import_obj.py
index bc0bb199c34750d5d80ae0e5f02d403d4b2f07c7..f90528f95ceb745cf7aecbf83c1952d58631ecd9 100644
--- a/io_scene_obj/import_obj.py
+++ b/io_scene_obj/import_obj.py
@@ -62,7 +62,7 @@ def filenames_group_by_ext(line, ext):
     """
     Splits material libraries supporting spaces, so:
     b'foo bar.mtl baz spam.MTL' -> (b'foo bar.mtl', b'baz spam.MTL')
-    Also handle " chars (some softwares use those to protect filenames with spaces, see T67266... sic).
+    Also handle " chars (some software use those to protect filenames with spaces, see T67266... sic).
     """
     # Note that we assume that if there are some " in that line,
     # then all filenames are properly enclosed within those...
@@ -93,7 +93,7 @@ def obj_image_load(context_imagepath_map, line, DIR, recursive, relpath):
     But we try all space-separated items from current line when file is not found with last one
     (users keep generating/using image files with spaces in a format that does not support them, sigh...)
     Also tries to replace '_' with ' ' for Max's exporter replaces spaces with underscores.
-    Also handle " chars (some softwares use those to protect filenames with spaces, see T67266... sic).
+    Also handle " chars (some software use those to protect filenames with spaces, see T67266... sic).
     """
     filepath_parts = line.split(b' ')
 
diff --git a/io_scene_x3d/import_x3d.py b/io_scene_x3d/import_x3d.py
index 922572117dc9a89d3a0ba7e66bfd1a8efb8464f5..5a1a4b32ca6beb2aaf48b2ae8ffada833a85f56e 100644
--- a/io_scene_x3d/import_x3d.py
+++ b/io_scene_x3d/import_x3d.py
@@ -83,7 +83,7 @@ def vrml_split_fields(value):
                 if (field_context_len > 2) and (field_context[-2] in {'DEF', 'USE'}):
                     field_context.append(v)
                 elif (not iskey(field_context[-1])) or ((field_context_len == 3 and field_context[1] == 'IS')):
-                    # this IS a key but the previous value was not a key, ot it was a defined field.
+                    # this IS a key but the previous value was not a key, or it was a defined field.
                     field_list.append(field_context)
                     field_context = [v]
                 else:
@@ -1053,7 +1053,7 @@ class vrmlNode(object):
 
                             # if self.getExternprotoName():
                             if self.getExternprotoName():
-                                if not extern_key:  # if none is spesified - use the name
+                                if not extern_key:  # if none is specified - use the name
                                     extern_key = self.getSpec()
 
                                 if extern_key:
@@ -2463,7 +2463,7 @@ def importMesh_Sphere(geom, ancestry):
     else:
         nr = ns = GLOBALS['CIRCLE_DETAIL']
         # used as both ring count and segment count
-    lau = pi / nr  # Unit angle of latitude (rings) for the given tesselation
+    lau = pi / nr  # Unit angle of latitude (rings) for the given tessellation
     lou = 2 * pi / ns  # Unit angle of longitude (segments)
 
     bpymesh = bpy.data.meshes.new(name="Sphere")
@@ -2997,7 +2997,7 @@ def appearance_LoadPixelTexture(pixelTexture, ancestry):
     elif plane_count == 1:  # Intensity - does Blender even support that?
         bpyima.pixels = [(cco & 0xff) / 255 for pixel in pixels
                          for cco in (pixel, pixel, pixel, 255)]
-    elif plane_count == 2:  # Intensity/aplha
+    elif plane_count == 2:  # Intensity/alpha
         bpyima.pixels = [(cco & 0xff) / 255 for pixel in pixels
                          for cco
                          in (pixel >> 8, pixel >> 8, pixel >> 8, pixel)]
@@ -3431,7 +3431,7 @@ def importRoute(node, ancestry):
     # for getting definitions
     defDict = node.getDefDict()
     """
-    Handles routing nodes to eachother
+    Handles routing nodes to each other
 
 ROUTE vpPI.value_changed TO champFly001.set_position
 ROUTE vpOI.value_changed TO champFly001.set_orientation
diff --git a/materials_utils/__init__.py b/materials_utils/__init__.py
index 2a4561f4c777b66bbaf737f8bc8d131903095fd6..b78119e8b3292633254aaa98b47311a9dcb7254a 100644
--- a/materials_utils/__init__.py
+++ b/materials_utils/__init__.py
@@ -116,7 +116,7 @@ from bpy.types import (
     )
 
 
-# All classes used by Material Utilities, that need to be registred
+# All classes used by Material Utilities, that need to be registered
 classes = (
     VIEW3D_OT_materialutilities_assign_material_object,
     VIEW3D_OT_materialutilities_assign_material_edit,
diff --git a/materials_utils/functions.py b/materials_utils/functions.py
index b8afc04f054eec54bc347eeb38c78123ab6f8bd9..4663fbeba5eb528948c06c077738e74863b6cc8b 100644
--- a/materials_utils/functions.py
+++ b/materials_utils/functions.py
@@ -140,7 +140,7 @@ def mu_assign_material(self, material_name = "Default", override_type = 'APPEND_
             obj.material_slots[0].material = target
 
             if obj.type == 'META':
-                self.report({'INFO'}, "Meta balls only support one material, all other materials overriden!")
+                self.report({'INFO'}, "Meta balls only support one material, all other materials overridden!")
 
         # If we should override each material slot
         elif override_type == 'OVERRIDE_SLOTS':
@@ -626,7 +626,7 @@ def mu_change_material_link(self, link, affect, override_data_material = False):
             elif not override_data_material:
                 self.report({'INFO'},
                             'The object Data for object ' + object.name_full + ' already had a material assigned ' +
-                            'to slot #' + str(index) + ' (' + slot.material.name + '), it was not overriden!')
+                            'to slot #' + str(index) + ' (' + slot.material.name + '), it was not overridden!')
 
             if override_data_material:
                 slot.material = present_material
diff --git a/mesh_tiny_cad/README.md b/mesh_tiny_cad/README.md
index 69fe9ab6b37ff52a33abfcbfd2189ad0cb33f10c..6c72dc78b411ca96543398d217bec7501ec61748 100644
--- a/mesh_tiny_cad/README.md
+++ b/mesh_tiny_cad/README.md
@@ -15,7 +15,7 @@ __________________
 
 ### OK, what's this all about?
 
-Dedicated CAD software speeds up drafting significantly with functions like: `Extend`, `Trim`,  `Intersect`, `Fillet /w radius` and `Offset /w distance`. At the moment of this writing many of these functions aren't included by default in regular distributions on Blender.org, so i've coded scripts to perform a few of the main features that I missed most. 
+Dedicated CAD software speeds up drafting significantly with functions like: `Extend`, `Trim`,  `Intersect`, `Fillet /w radius` and `Offset /w distance`. At the moment of this writing many of these functions aren't included by default in regular distributions on Blender.org, so I've coded scripts to perform a few of the main features that I missed most.
   
 My scripts have shortnames: `VTX, V2X, XALL, BIX, CCEN` and are described separately in sections below. `Fillet` and `Offset` are written by zmj100 and can be found [here](http://blenderartists.org/forum/showthread.php?179375).
 
@@ -45,7 +45,7 @@ Expect full freedom of orientation, but stuff must really intersect within error
 
 ### X ALL
 
-Intersect all, it programatically goes through all selected edges and slices them all using any found intersections, then welds them.
+Intersect all, it programmatically goes through all selected edges and slices them all using any found intersections, then welds them.
 
   - XALL is fast!  
   ![Imgur](http://i.imgur.com/1I7totI.gif)
diff --git a/object_boolean_tools.py b/object_boolean_tools.py
index a9c747775abd01dc71a6eed10f242abcce351d89..642bfff2219f16817a3dda1be7f8cfb39beb5b9c 100644
--- a/object_boolean_tools.py
+++ b/object_boolean_tools.py
@@ -177,7 +177,7 @@ def Operation(context, _operation):
             selObj["BoolTool_FTransform"] = "False"
 
 
-# Remove Obejcts form the BoolTool System
+# Remove Objects form the BoolTool System
 def Remove(context, thisObj_name, Prop):
     # Find the Brush pointed in the Tree View and Restore it, active is the Canvas
     actObj = context.active_object
diff --git a/power_sequencer/operators/fade_add.py b/power_sequencer/operators/fade_add.py
index d72f034d2173ecfdc8789a6315c18f45dbab6f84..2053a77c1b1da27cfd5419eeb0ace2460fc31703 100644
--- a/power_sequencer/operators/fade_add.py
+++ b/power_sequencer/operators/fade_add.py
@@ -27,7 +27,7 @@ class POWER_SEQUENCER_OT_fade_add(bpy.types.Operator):
     Fade options:
 
     - In, Out, In and Out create a fade animation of the given duration from
-    the start of the sequence, to the end of the sequence, or on boths sides
+    the start of the sequence, to the end of the sequence, or on both sides
     - From playhead: the fade animation goes from the start of sequences under the playhead to the playhead
     - To playhead: the fade animation goes from the playhead to the end of sequences under the playhead
 
diff --git a/power_sequencer/operators/mouse_trim_modal.py b/power_sequencer/operators/mouse_trim_modal.py
index 96da52909a25675898b6f969a806e71b9c462022..4e4bb407bb7cc7630f87cb972db6014d9f1e28b9 100644
--- a/power_sequencer/operators/mouse_trim_modal.py
+++ b/power_sequencer/operators/mouse_trim_modal.py
@@ -48,7 +48,7 @@ class POWER_SEQUENCER_OT_mouse_trim(bpy.types.Operator):
     *brief* Cut or Trim strips quickly with the mouse cursor
 
 
-    Click somehwere in the Sequencer to insert a cut, click and drag to trim
+    Click somewehre in the Sequencer to insert a cut, click and drag to trim
     With this function you can quickly cut and remove a section of strips while keeping or
     collapsing the remaining gap.
     Press <kbd>Ctrl</kbd> to snap to cuts.
diff --git a/power_sequencer/scripts/BPSProxy/bpsproxy/utils.py b/power_sequencer/scripts/BPSProxy/bpsproxy/utils.py
index 832a0bebd454073e6e10d48b78c6890d370802ef..d6ae4f06a57b9214ae0077d7f13d268aa839d62d 100644
--- a/power_sequencer/scripts/BPSProxy/bpsproxy/utils.py
+++ b/power_sequencer/scripts/BPSProxy/bpsproxy/utils.py
@@ -43,7 +43,7 @@ def checktools(tools):
         msg += [
             (
                 "Check if you have them properly installed and available in the PATH"
-                " environemnt variable."
+                " environment variable."
             )
         ]
         raise ToolError("\n".join(msg))
diff --git a/power_sequencer/scripts/BPSRender/bpsrender/helpers.py b/power_sequencer/scripts/BPSRender/bpsrender/helpers.py
index 9ebcf2b08c8efe52b67dbc511b53ee466aa204d7..251085ada2a1b8736ad13297a7b86fbc1f348c23 100644
--- a/power_sequencer/scripts/BPSRender/bpsrender/helpers.py
+++ b/power_sequencer/scripts/BPSRender/bpsrender/helpers.py
@@ -48,7 +48,7 @@ def checktools(tools):
         msg += [
             (
                 "Check if you have them properly installed and available in the PATH"
-                " environemnt variable."
+                " environment variable."
             ),
             "Exiting...",
         ]
diff --git a/power_sequencer/scripts/BPSRender/bpsrender/setup.py b/power_sequencer/scripts/BPSRender/bpsrender/setup.py
index aba30d07bb33a91fae3a838a105f7d763b698eb4..9aa044c293fec8d37f3c40995569cfe69a43592a 100644
--- a/power_sequencer/scripts/BPSRender/bpsrender/setup.py
+++ b/power_sequencer/scripts/BPSRender/bpsrender/setup.py
@@ -139,7 +139,7 @@ def setup_folders_hdd(cfg, clargs, **kwargs):
     -------
     out: (iter((str, iter(tuple))), dict)
     1st element: see commands.py:get_commands_all
-    2nd elment: the keyword arguments used by calls.py:call
+    2nd element: the keyword arguments used by calls.py:call
     """
     # create folder structure if it doesn't exist already only if
     # appropriate command line arguments are given
@@ -170,7 +170,7 @@ def setup(cfg, clargs):
     -------
     out: (iter((str, iter(tuple))), dict)
     1st element: see commands.py:get_commands_all
-    2nd elment: the keyword arguments used by calls.py:call
+    2nd element: the keyword arguments used by calls.py:call
     """
     setups_f = (setup_bspy, setup_probe, setup_paths, setup_folders_hdd)
     lg.basicConfig(level=LOGLEV[min(clargs.verbose, len(LOGLEV) - 1)])
diff --git a/render_povray/__init__.py b/render_povray/__init__.py
index 7eb3d92ef4785c853c05be0af4c55190a40d70bd..02d08cec93e170e1aac2d6a3e7f8137fba751fcd 100644
--- a/render_povray/__init__.py
+++ b/render_povray/__init__.py
@@ -1196,9 +1196,9 @@ class RenderPovSettingsMaterial(PropertyGroup):
             name="Type",
             description="Material type defining how the object is rendered",   
             items=(("SURFACE", "Surface", "Render object as a surface"),
-                   ("WIRE", "Wire", "Render the edges of faces as wires (not supported in raytracing)"),#TO UPDATE > USE MACRO AND CHNGE DESCRIPTION
+                   ("WIRE", "Wire", "Render the edges of faces as wires (not supported in raytracing)"),#TO UPDATE > USE MACRO AND CHANGE DESCRIPTION
                    ("VOLUME", "Volume", "Render object as a volume"),
-                   ("‘HALO’", "Halo", "Render object as halo particles")), #TO UPDATE > USE MACRO AND CHNGE DESCRIPTION
+                   ("‘HALO’", "Halo", "Render object as halo particles")), #TO UPDATE > USE MACRO AND CHANGE DESCRIPTION
             default="SURFACE")
             
     use_cast_shadows: BoolProperty(
diff --git a/render_povray/render.py b/render_povray/render.py
index 3bc314bbd6caeadf01ab79c26ce67c0ad9e66d3e..56251988d85e2ff7af5e63f219f700fffcff343b 100644
--- a/render_povray/render.py
+++ b/render_povray/render.py
@@ -34,7 +34,7 @@ from imghdr import what #imghdr is a python lib to identify image file types
 from bpy.utils import register_class
 
 from . import df3 # for smoke rendering
-from . import shading # for BI POV haders emulation
+from . import shading # for BI POV shaders emulation
 from . import primitives # for import and export of POV specific primitives
 from . import nodes # for POV specific nodes
 ##############################SF###########################