diff --git a/CHANGES b/CHANGES
index 938dc46..500c696 100644
--- a/CHANGES
+++ b/CHANGES
@@ -106,7 +106,7 @@
   as lists of pairs instead of dictionaries.  No longer check
   for duplicate mapping keys as it didn't work correctly anyway.
 * Fix invalid output of single-quoted scalars in cases when a single
-  quote is not escaped when preceeded by whitespaces or line breaks.
+  quote is not escaped when preceded by whitespaces or line breaks.
 * To make porting easier, rewrite Parser not using generators.
 * Fix handling of unexpected block mapping values.
 * Fix a bug in Representer.represent_object: copy_reg.dispatch_table
@@ -142,6 +142,6 @@
 -----------------
 
 * Initial release.  The version number reflects the codename
-  of the project (PyYAML 3000) and differenciates it from
+  of the project (PyYAML 3000) and differentiates it from
   the abandoned PyYaml module. 
 
diff --git a/announcement.msg b/announcement.msg
index c9bfeaa..2b21cf8 100644
--- a/announcement.msg
+++ b/announcement.msg
@@ -49,7 +49,7 @@
 to represent an arbitrary Python object.
 
 PyYAML is applicable for a broad range of tasks from complex
-configuration files to object serialization and persistance.
+configuration files to object serialization and persistence.
 
 
 Example
@@ -61,9 +61,9 @@
 ... name: PyYAML
 ... description: YAML parser and emitter for Python
 ... homepage: http://pyyaml.org/wiki/PyYAML
-... keywords: [YAML, serialization, configuration, persistance, pickle]
+... keywords: [YAML, serialization, configuration, persistence, pickle]
 ... """)
-{'keywords': ['YAML', 'serialization', 'configuration', 'persistance',
+{'keywords': ['YAML', 'serialization', 'configuration', 'persistence',
 'pickle'], 'homepage': 'http://pyyaml.org/wiki/PyYAML', 'description':
 'YAML parser and emitter for Python', 'name': 'PyYAML'}
 
@@ -71,7 +71,7 @@
 name: PyYAML
 homepage: http://pyyaml.org/wiki/PyYAML
 description: YAML parser and emitter for Python
-keywords: [YAML, serialization, configuration, persistance, pickle]
+keywords: [YAML, serialization, configuration, persistence, pickle]
 
 
 Copyright
diff --git a/examples/pygments-lexer/yaml.py b/examples/pygments-lexer/yaml.py
index 1ce9dac..1a1bbde 100644
--- a/examples/pygments-lexer/yaml.py
+++ b/examples/pygments-lexer/yaml.py
@@ -217,7 +217,7 @@
         'indentation': [
             # trailing whitespaces are ignored
             (r'[ ]*$', something(Text.Blank), '#pop:2'),
-            # whitespaces preceeding block collection indicators
+            # whitespaces preceding block collection indicators
             (r'[ ]+(?=[?:-](?:[ ]|$))', save_indent(Text.Indent)),
             # block collection indicators
             (r'[?:-](?=[ ]|$)', set_indent(Punctuation.Indicator)),
diff --git a/ext/_yaml.pyx b/ext/_yaml.pyx
index 83eca65..b2f409c 100644
--- a/ext/_yaml.pyx
+++ b/ext/_yaml.pyx
@@ -762,11 +762,11 @@
                         self.parsed_event.start_mark.column,
                         None, None)
                 if PY_MAJOR_VERSION < 3:
-                    raise ComposerError("found duplicate anchor; first occurence",
-                            self.anchors[anchor].start_mark, "second occurence", mark)
+                    raise ComposerError("found duplicate anchor; first occurrence",
+                            self.anchors[anchor].start_mark, "second occurrence", mark)
                 else:
-                    raise ComposerError(u"found duplicate anchor; first occurence",
-                            self.anchors[anchor].start_mark, u"second occurence", mark)
+                    raise ComposerError(u"found duplicate anchor; first occurrence",
+                            self.anchors[anchor].start_mark, u"second occurrence", mark)
         self.descend_resolver(parent, index)
         if self.parsed_event.type == YAML_SCALAR_EVENT:
             node = self._compose_scalar_node(anchor)
diff --git a/lib/yaml/composer.py b/lib/yaml/composer.py
index 06e5ac7..df85ef6 100644
--- a/lib/yaml/composer.py
+++ b/lib/yaml/composer.py
@@ -72,9 +72,9 @@
         anchor = event.anchor
         if anchor is not None:
             if anchor in self.anchors:
-                raise ComposerError("found duplicate anchor %r; first occurence"
+                raise ComposerError("found duplicate anchor %r; first occurrence"
                         % anchor.encode('utf-8'), self.anchors[anchor].start_mark,
-                        "second occurence", event.start_mark)
+                        "second occurrence", event.start_mark)
         self.descend_resolver(parent, index)
         if self.check_event(ScalarEvent):
             node = self.compose_scalar_node(anchor)
diff --git a/lib/yaml/emitter.py b/lib/yaml/emitter.py
index 5fb4179..9561a82 100644
--- a/lib/yaml/emitter.py
+++ b/lib/yaml/emitter.py
@@ -45,7 +45,7 @@
         # The stream should have the methods `write` and possibly `flush`.
         self.stream = stream
 
-        # Encoding can be overriden by STREAM-START.
+        # Encoding can be overridden by STREAM-START.
         self.encoding = None
 
         # Emitter is a state machine with a stack of states to handle nested
@@ -659,7 +659,7 @@
             flow_indicators = True
 
         # First character or preceded by a whitespace.
-        preceeded_by_whitespace = True
+        preceded_by_whitespace = True
 
         # Last character or followed by a whitespace.
         followed_by_whitespace = (len(scalar) == 1 or
@@ -696,7 +696,7 @@
                     flow_indicators = True
                     if followed_by_whitespace:
                         block_indicators = True
-                if ch == u'#' and preceeded_by_whitespace:
+                if ch == u'#' and preceded_by_whitespace:
                     flow_indicators = True
                     block_indicators = True
 
@@ -738,7 +738,7 @@
 
             # Prepare for the next character.
             index += 1
-            preceeded_by_whitespace = (ch in u'\0 \t\r\n\x85\u2028\u2029')
+            preceded_by_whitespace = (ch in u'\0 \t\r\n\x85\u2028\u2029')
             followed_by_whitespace = (index+1 >= len(scalar) or
                     scalar[index+1] in u'\0 \t\r\n\x85\u2028\u2029')
 
diff --git a/lib/yaml/scanner.py b/lib/yaml/scanner.py
index 73a3177..f86cb80 100644
--- a/lib/yaml/scanner.py
+++ b/lib/yaml/scanner.py
@@ -516,7 +516,7 @@
         # Block context needs additional checks.
         if not self.flow_level:
 
-            # Are we allowed to start a key (not nessesary a simple)?
+            # Are we allowed to start a key (not necessary a simple)?
             if not self.allow_simple_key:
                 raise ScannerError(None, None,
                         "mapping keys are not allowed here",
@@ -564,7 +564,7 @@
         else:
             
             # Block context needs additional checks.
-            # (Do we really need them? They will be catched by the parser
+            # (Do we really need them? They will be caught by the parser
             # anyway.)
             if not self.flow_level:
 
@@ -902,7 +902,7 @@
         # The specification does not restrict characters for anchors and
         # aliases. This may lead to problems, for instance, the document:
         #   [ *alias, value ]
-        # can be interpteted in two ways, as
+        # can be interpreted in two ways, as
         #   [ "value" ]
         # and
         #   [ *alias , "value" ]
diff --git a/lib3/yaml/composer.py b/lib3/yaml/composer.py
index d5c6a7a..6d15cb4 100644
--- a/lib3/yaml/composer.py
+++ b/lib3/yaml/composer.py
@@ -72,9 +72,9 @@
         anchor = event.anchor
         if anchor is not None:
             if anchor in self.anchors:
-                raise ComposerError("found duplicate anchor %r; first occurence"
+                raise ComposerError("found duplicate anchor %r; first occurrence"
                         % anchor, self.anchors[anchor].start_mark,
-                        "second occurence", event.start_mark)
+                        "second occurrence", event.start_mark)
         self.descend_resolver(parent, index)
         if self.check_event(ScalarEvent):
             node = self.compose_scalar_node(anchor)
diff --git a/lib3/yaml/emitter.py b/lib3/yaml/emitter.py
index 3479883..5704bc8 100644
--- a/lib3/yaml/emitter.py
+++ b/lib3/yaml/emitter.py
@@ -41,7 +41,7 @@
         # The stream should have the methods `write` and possibly `flush`.
         self.stream = stream
 
-        # Encoding can be overriden by STREAM-START.
+        # Encoding can be overridden by STREAM-START.
         self.encoding = None
 
         # Emitter is a state machine with a stack of states to handle nested
@@ -652,7 +652,7 @@
             flow_indicators = True
 
         # First character or preceded by a whitespace.
-        preceeded_by_whitespace = True
+        preceded_by_whitespace = True
 
         # Last character or followed by a whitespace.
         followed_by_whitespace = (len(scalar) == 1 or
@@ -689,7 +689,7 @@
                     flow_indicators = True
                     if followed_by_whitespace:
                         block_indicators = True
-                if ch == '#' and preceeded_by_whitespace:
+                if ch == '#' and preceded_by_whitespace:
                     flow_indicators = True
                     block_indicators = True
 
@@ -731,7 +731,7 @@
 
             # Prepare for the next character.
             index += 1
-            preceeded_by_whitespace = (ch in '\0 \t\r\n\x85\u2028\u2029')
+            preceded_by_whitespace = (ch in '\0 \t\r\n\x85\u2028\u2029')
             followed_by_whitespace = (index+1 >= len(scalar) or
                     scalar[index+1] in '\0 \t\r\n\x85\u2028\u2029')
 
diff --git a/lib3/yaml/scanner.py b/lib3/yaml/scanner.py
index 172c788..3b49407 100644
--- a/lib3/yaml/scanner.py
+++ b/lib3/yaml/scanner.py
@@ -516,7 +516,7 @@
         # Block context needs additional checks.
         if not self.flow_level:
 
-            # Are we allowed to start a key (not nessesary a simple)?
+            # Are we allowed to start a key (not necessary a simple)?
             if not self.allow_simple_key:
                 raise ScannerError(None, None,
                         "mapping keys are not allowed here",
@@ -564,7 +564,7 @@
         else:
             
             # Block context needs additional checks.
-            # (Do we really need them? They will be catched by the parser
+            # (Do we really need them? They will be caught by the parser
             # anyway.)
             if not self.flow_level:
 
@@ -897,7 +897,7 @@
         # The specification does not restrict characters for anchors and
         # aliases. This may lead to problems, for instance, the document:
         #   [ *alias, value ]
-        # can be interpteted in two ways, as
+        # can be interpreted in two ways, as
         #   [ "value" ]
         # and
         #   [ *alias , "value" ]
diff --git a/setup.cfg b/setup.cfg
index d0239e4..067c6bc 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -9,7 +9,7 @@
 # List of directories to search for 'libyaml.a' (separated by ':').
 #library_dirs=/usr/local/lib:../../lib
 
-# An alternative compiler to build the extention.
+# An alternative compiler to build the extension.
 #compiler=mingw32
 
 # Additional preprocessor definitions might be required.
diff --git a/setup.py b/setup.py
index 2570870..9892ab5 100644
--- a/setup.py
+++ b/setup.py
@@ -13,7 +13,7 @@
 allow to represent an arbitrary Python object.
 
 PyYAML is applicable for a broad range of tasks from complex
-configuration files to object serialization and persistance."""
+configuration files to object serialization and persistence."""
 AUTHOR = "Kirill Simonov"
 AUTHOR_EMAIL = 'xi@resolvent.net'
 LICENSE = "MIT"
