diff --git a/CREDITS.TXT b/CREDITS.TXT
index 231dfd3..5446562 100644
--- a/CREDITS.TXT
+++ b/CREDITS.TXT
@@ -32,3 +32,7 @@
 N: Nowar Gu
 E: wenhan.gu@gmail.com
 D: Minor patches and fixes
+
+N: Bruce Mitchener, Jr.
+E: bruce.mitchener@gmail.com
+D: Minor typo fixes
diff --git a/src/cxa_exception.cpp b/src/cxa_exception.cpp
index 1c36299..f8c38c0 100644
--- a/src/cxa_exception.cpp
+++ b/src/cxa_exception.cpp
@@ -524,7 +524,7 @@
 
 /*
     Returns a pointer to the thrown object (if any) at the top of the
-    caughtExceptions stack.  Atommically increment the exception's referenceCount.
+    caughtExceptions stack.  Atomically increment the exception's referenceCount.
     If there is no such thrown object or if the thrown object is foreign,
     returns null.
 
@@ -573,7 +573,7 @@
 }
 
 /*
-    If thrown_object is not null, allocate, initialize and thow a dependent
+    If thrown_object is not null, allocate, initialize and throw a dependent
     exception.
 */
 void
diff --git a/src/cxa_exception_storage.cpp b/src/cxa_exception_storage.cpp
index 2c269c7..b0b5524 100644
--- a/src/cxa_exception_storage.cpp
+++ b/src/cxa_exception_storage.cpp
@@ -75,7 +75,7 @@
         }
 
     // Note that this implementation will reliably return NULL if not
-    // preceeded by a call to __cxa_get_globals().  This is an extension
+    // preceded by a call to __cxa_get_globals().  This is an extension
     // to the Itanium ABI and is taken advantage of in several places in
     // libc++abi.
     __cxa_eh_globals * __cxa_get_globals_fast () {
diff --git a/src/cxa_handlers.hpp b/src/cxa_handlers.hpp
index 64994ac..ce567ec 100644
--- a/src/cxa_handlers.hpp
+++ b/src/cxa_handlers.hpp
@@ -45,7 +45,7 @@
     extern std::atomic<std::new_handler>        __cxa_new_handler;
 
     This change will not impact their ABI.  But it will allow for a
-    portible performance optimization.
+    portable performance optimization.
 
 */
 
diff --git a/src/cxa_personality.cpp b/src/cxa_personality.cpp
index b2efe2a..97e5800 100644
--- a/src/cxa_personality.cpp
+++ b/src/cxa_personality.cpp
@@ -39,7 +39,7 @@
 +-----------------+--------+
 | lpStartEncoding | (char) |
 +---------+-------+--------+---------------+-----------------------+
-| lpStart | (encoded wtih lpStartEncoding) | defaults to funcStart |
+| lpStart | (encoded with lpStartEncoding) | defaults to funcStart |
 +---------+-----+--------+-----------------+---------------+-------+
 | ttypeEncoding | (char) | Encoding of the type_info table |
 +---------------+-+------+----+----------------------------+----------------+
@@ -187,7 +187,7 @@
 }
 
 /// Read a sleb128 encoded value and advance pointer 
-/// See Variable Length Data Applendix C in: 
+/// See Variable Length Data Appendix C in: 
 /// @link http://dwarfstd.org/Dwarf4.pdf @unlink
 /// @param data reference variable holding memory pointer to decode from
 /// @returns decoded value
@@ -344,7 +344,7 @@
 }
 
 /*
-    This is checking a thrown exception type, excpType, against a posibly empty
+    This is checking a thrown exception type, excpType, against a possibly empty
     list of catchType's which make up an exception spec.
 
     An exception spec acts like a catch handler, but in reverse.  This "catch
@@ -489,7 +489,7 @@
             return;
         }
     }
-    else // Niether _UA_SEARCH_PHASE nor _UA_CLEANUP_PHASE is set
+    else // Neither _UA_SEARCH_PHASE nor _UA_CLEANUP_PHASE is set
     {
         // One of these should be set.
         //   Client error
@@ -1038,7 +1038,7 @@
             {
                 // We need to __cxa_end_catch for both the old exception and the
                 //   new exception.  Technically we should do it in that order.
-                //   But it is expedent to do it in the opposite order:
+                //   But it is expedient to do it in the opposite order:
                 // Call __cxa_end_catch for new_exception_header
                 __cxa_end_catch();
                 // Throw std::bad_exception will __cxa_end_catch for
diff --git a/src/cxa_vector.cpp b/src/cxa_vector.cpp
index 926c01d..c2292ef 100644
--- a/src/cxa_vector.cpp
+++ b/src/cxa_vector.cpp
@@ -32,7 +32,7 @@
 //  A pair of classes to simplify exception handling and control flow.
 //  They get passed a block of memory in the constructor, and unless the
 //  'release' method is called, they deallocate the memory in the destructor.
-//  Prefered usage is to allocate some memory, attach it to one of these objects,
+//  Preferred usage is to allocate some memory, attach it to one of these objects,
 //  and then, when all the operations to set up the memory block have succeeded,
 //  call 'release'. If any of the setup operations fail, or an exception is
 //  thrown, then the block is automatically deallocated.
diff --git a/src/private_typeinfo.cpp b/src/private_typeinfo.cpp
index 44b084a..216f796 100644
--- a/src/private_typeinfo.cpp
+++ b/src/private_typeinfo.cpp
@@ -16,13 +16,13 @@
 // When _LIBCXX_DYNAMIC_FALLBACK is defined, and only in the case where
 // there is a detected inconsistency in the type_info hierarchy during a
 // dynamic_cast, then the equality operation will fall back to using strcmp
-// on type_info names to determin type_info equality.
+// on type_info names to determine type_info equality.
 // 
 // This change happens *only* under dynamic_cast, and only when
 // dynamic_cast is faced with the choice:  abort, or possibly give back the
 // wrong answer.  If when the dynamic_cast is done with this fallback
 // algorithm and an inconsistency is still detected, dynamic_cast will call
-// abort with an approriate message.
+// abort with an appropriate message.
 // 
 // The current implementation of _LIBCXX_DYNAMIC_FALLBACK requires a
 // printf-like function called syslog:
