diff --git a/README.md b/README.md
index 6b627678a..284b082b5 100644
--- a/README.md
+++ b/README.md
@@ -114,7 +114,7 @@ Because JavaScript is a dynamically typed language, protobuf.js introduces the c
There are two possible types of valid messages and the encoder is able to work with both of these:
-* **Runtime messages** (explicit instances of message classes with default values on their prototype) always (have to) satisfy the requirements of a valid message and
+* **Message instances** (explicit instances of message classes with default values on their prototype) always (have to) satisfy the requirements of a valid message and
* **Plain JavaScript objects** that just so happen to be composed in a way satisfying the requirements of a valid message as well.
In a nutshell, the wire format writer understands the following types:
@@ -152,7 +152,7 @@ With that in mind and again for performance reasons, each message class provides
```
* **Message.encode**(message: `Message|Object` [, writer: `Writer`]): `Writer`
- encodes a valid message (**runtime message** or valid **plain JavaScript object**). This method does not implicitly verify the message and it's up to the user to make sure that the payload is a valid message.
+ encodes a **message instance** or valid **plain JavaScript object**. This method does not implicitly verify the message and it's up to the user to make sure that the payload is a valid message.
```js
var buffer = AwesomeMessage.encode(message).finish();
@@ -162,7 +162,7 @@ With that in mind and again for performance reasons, each message class provides
works like `Message.encode` but additionally prepends the length of the message as a varint.
* **Message.decode**(reader: `Reader|Uint8Array`): `Message`
- decodes a buffer to a **runtime message**. If required fields are missing, it throws a `util.ProtocolError` with an `instance` property set to the so far decoded message. If the wire format is invalid, it throws an `Error`.
+ decodes a buffer to a **message instance**. If required fields are missing, it throws a `util.ProtocolError` with an `instance` property set to the so far decoded message. If the wire format is invalid, it throws an `Error`.
```js
try {
@@ -180,14 +180,14 @@ With that in mind and again for performance reasons, each message class provides
works like `Message.decode` but additionally reads the length of the message prepended as a varint.
* **Message.create**(properties: `Object`): `Message`
- creates a new **runtime message** from a set of properties that satisfy the requirements of a valid message. Where applicable, it is recommended to prefer `Message.create` over `Message.fromObject` because it doesn't perform possibly redundant conversion.
+ creates a new **message instance** from a set of properties that satisfy the requirements of a valid message. Where applicable, it is recommended to prefer `Message.create` over `Message.fromObject` because it doesn't perform possibly redundant conversion.
```js
var message = AwesomeMessage.create({ awesomeField: "AwesomeString" });
```
* **Message.fromObject**(object: `Object`): `Message`
- naively converts any non-valid **plain JavaScript object** to a **runtime message**. See the table above for the exact conversion operations performed.
+ naively converts any non-valid **plain JavaScript object** to a **message instance**. See the table above for the exact conversion operations performed.
```js
var message = AwesomeMessage.fromObject({ awesomeField: 42 });
@@ -195,7 +195,7 @@ With that in mind and again for performance reasons, each message class provides
```
* **Message.toObject**(message: `Message` [, options: `ConversionOptions`]): `Object`
- converts a **runtime message** to an arbitrary **plain JavaScript object** for interoperability with other libraries or storage. The resulting plain JavaScript object *might* still satisfy the requirements of a valid message depending on the actual conversion options specified, but most of the time it does not.
+ converts a **message instance** to an arbitrary **plain JavaScript object** for interoperability with other libraries or storage. The resulting plain JavaScript object *might* still satisfy the requirements of a valid message depending on the actual conversion options specified, but most of the time it does not.
```js
var object = AwesomeMessage.toObject(message, {
@@ -361,7 +361,7 @@ Detailed information on the reflection structure is available within the [API do
### Using custom classes
-Runtime message classes can also be extended with custom functionality and it is also possible to register a custom constructor with a reflected message type:
+Message classes can also be extended with custom functionality and it is also possible to register a custom constructor with a reflected message type:
```js
...
@@ -493,7 +493,7 @@ protobuf.load("awesome.proto", function(err, root) {
});
```
-**Note:** Dynamically generated runtime message classes cannot be typed, technically, so you must either access its fields using `message["awesomeField"]` notation or you can utilize [typings of its static counterpart](#pbts-for-typescript) for full typings support.
+**Note:** Dynamically generated message classes cannot be typed, technically, so you must either access its fields using `message["awesomeField"]` notation or you can utilize [typings of its static counterpart](#pbts-for-typescript) for full typings support.
If you generated static code to `bundle.js` using the CLI and its type definitions to `bundle.d.ts` instead, then you can just do:
@@ -574,7 +574,7 @@ Translates between file formats and generates static code.
--no-comments Does not output any JSDoc comments.
--force-long Enfores the use of 'Long' for s-/u-/int64 and s-/fixed64 fields.
- --force-message Enfores the use of runtime messages instead of plain objects.
+ --force-message Enfores the use of message instances instead of plain objects.
usage: pbjs [options] file1.proto file2.json ... (or) other | pbjs [options] -
```
diff --git a/cli/pbjs.js b/cli/pbjs.js
index 6b3d763c2..538294e30 100644
--- a/cli/pbjs.js
+++ b/cli/pbjs.js
@@ -122,7 +122,7 @@ exports.main = function main(args, callback) {
" --no-comments Does not output any JSDoc comments.",
"",
" --force-long Enfores the use of 'Long' for s-/u-/int64 and s-/fixed64 fields.",
- " --force-message Enfores the use of runtime messages instead of plain objects.",
+ " --force-message Enfores the use of message instances instead of plain objects.",
"",
"usage: " + chalk.bold.green("pbjs") + " [options] file1.proto file2.json ..." + chalk.gray(" (or) ") + "other | " + chalk.bold.green("pbjs") + " [options] -",
""