diff --git a/src/c/errors.c b/src/c/errors.c
index 20f69ef..152a295 100644
--- a/src/c/errors.c
+++ b/src/c/errors.c
@@ -10,55 +10,55 @@
 {
   switch (error) {
   case NDN_ERROR_success:
-    return      "success"; 
+    return      "Success"; 
   case NDN_ERROR_element_of_value_is_not_a_decimal_digit:
-    return      "element of value is not a decimal digit";
+    return      "Element of value is not a decimal digit";
   case NDN_ERROR_read_past_the_end_of_the_input:
-    return      "read past the end of the input";
+    return      "Read past the end of the input";
   case NDN_ERROR_the_first_header_octet_may_not_be_zero:
-    return      "the first header octet may not be zero";
+    return      "The first header octet may not be zero";
   case NDN_ERROR_header_type_is_not_a_DTAG:
-    return      "header type is not a DTAG";
+    return      "Header type is not a DTAG";
   case NDN_ERROR_did_not_get_the_expected_DTAG:
-    return      "did not get the expected DTAG";
+    return      "Did not get the expected DTAG";
   case NDN_ERROR_did_not_get_the_expected_element_close:
-    return      "did not get the expected element close";
+    return      "Did not get the expected element close";
   case NDN_ERROR_item_is_not_UDATA:
-    return      "item is not UDATA";
+    return      "Item is not UDATA";
   case NDN_ERROR_header_type_is_out_of_range:
-    return      "header type is out of range";
+    return      "Header type is out of range";
   case NDN_ERROR_encodeTypeAndValue_miscalculated_N_encoding_bytes:
-    return      "encodeTypeAndValue miscalculated N encoding bytes";
+    return      "EncodeTypeAndValue miscalculated N encoding bytes";
   case NDN_ERROR_read_a_component_past_the_maximum_number_of_components_allowed_in_the_name:
-    return      "read a component past the maximum number of components allowed in the name";
+    return      "Read a component past the maximum number of components allowed in the name";
   case NDN_ERROR_read_an_entry_past_the_maximum_number_of_entries_allowed_in_the_exclude:
-    return      "read an entry past the maximum number of entries allowed in the exclude";
+    return      "Read an entry past the maximum number of entries allowed in the exclude";
   case NDN_ERROR_findElementEnd_unexpected_close_tag:
-    return      "findElementEnd unexpected close tag";
+    return      "FindElementEnd unexpected close tag";
   case NDN_ERROR_cannot_store_more_header_bytes_than_the_size_of_headerBuffer:
-    return      "cannot store more header bytes than the size of headerBuffer";
+    return      "Cannot store more header bytes than the size of headerBuffer";
   case NDN_ERROR_findElementEnd_cannot_read_header_type_and_value:
-    return      "findElementEnd cannot read header type and value";
+    return      "FindElementEnd cannot read header type and value";
   case NDN_ERROR_findElementEnd_unrecognized_header_type:
-    return      "findElementEnd unrecognized header type";
+    return      "FindElementEnd unrecognized header type";
   case NDN_ERROR_findElementEnd_unrecognized_state:
-    return      "findElementEnd unrecognized state";
+    return      "FindElementEnd unrecognized state";
   case NDN_ERROR_DynamicUInt8Array_realloc_function_pointer_not_supplied:
     return      "DynamicUInt8Array realloc function pointer not supplied";
   case NDN_ERROR_DynamicUInt8Array_realloc_failed:
     return      "DynamicUInt8Array realloc failed";
   case NDN_ERROR_unrecognized_ndn_ExcludeType:
-    return      "unrecognized ndn_ExcludeType";
+    return      "Unrecognized ndn_ExcludeType";
   case NDN_ERROR_unrecognized_ndn_ContentType:
-    return      "unrecognized ndn_ContentType";
+    return      "Unrecognized ndn_ContentType";
   case NDN_ERROR_unrecognized_ndn_KeyLocatorType:
-    return      "unrecognized ndn_KeyLocatorType";
+    return      "Unrecognized ndn_KeyLocatorType";
   case NDN_ERROR_unrecognized_ndn_KeyNameType:
-    return      "unrecognized ndn_KeyNameType";
+    return      "Unrecognized ndn_KeyNameType";
   case NDN_ERROR_decodeBinaryXmlKeyLocator_unrecognized_key_locator_type:
     return      "decodeBinaryXmlKeyLocator unrecognized key locator type";
   case NDN_ERROR_unrecognized_ndn_SocketTransport:
-    return      "unrecognized ndn_SocketTransport";
+    return      "Unrecognized ndn_SocketTransport";
   case NDN_ERROR_SocketTransport_error_in_getaddrinfo:
     return      "SocketTransport error in getaddrinfo";
   case NDN_ERROR_SocketTransport_cannot_connect_to_socket:
