diff --git a/README.md b/README.md
index be6faf3..416f07a 100644
--- a/README.md
+++ b/README.md
@@ -8,29 +8,16 @@
A very small library to store all console logs in `console.history`.
### Usage
-Include `console-history.js` or `console-history.min.js` in your page before any
-console function gets called. All calls to `console.log`, `console.info`,
-`console.warn`, `console.error` and `console.debug` will be intercepted and
-stored after that. Including every parameter passed to those functions.
+Include `console-history.js` or `console-history.min.js` in your page or script before any console function gets called. All calls to `console.log`, `console.info`, `console.warn`, `console.error` and `console.debug` will be intercepted and stored after doing so. *Including every parameter passed to those functions.*
### Getting Started
-You can [download the latest release](https://github.com/lesander/console.history/releases/latest)
-on GitHub, or use RawGit's CDN to get the latest version directly in your browser:
+This library works in almost all browsers and on any NodeJS server.
+
+#### Browser
+You can [download the latest release](https://github.com/lesander/console.history/releases/latest) on GitHub, or use RawGit's CDN to get the latest version directly in your browser:
```html
```
-
-
-Every saved console log is stored locally in the array `console.history`.
-A page reload will erase all history, it is not permanently stored. You could use
-`localStorage` or `sessionStorage` for that.
-
-### How it works
-This script is basically a man-in-the-middle for all `console[log/info/warn/error/debug]` functions.
-Every call gets intercepted, printed and added to the history array.
-
-
-
See an example entry to the history array below. This example is from the [`test/test.js`](test/test.js) file.
```json
{
@@ -47,15 +34,67 @@ See an example entry to the history array below. This example is from the [`test
}
```
-The code is not that hard to
-understand, see [`console-history.js`](/console-history.js) with in-line comments explaining the code.
+#### Server (NodeJS)
+Fetch the latest version of `console.history`:
+```shell
+npm install console.history
+```
+```js
+require('console.history')
+console.log('Hello World!')
+```
+At this point, the `console.history` array is populated with one entry:
+```js
+[
+ {
+ type: 'log',
+ timestamp: 'Thu, 16 Mar 2017 17:24:25 GMT',
+ arguments: { '0': 'Hello World!' },
+ stack: [
+ 'at Console.console._intercept (/.../console.history/test/node.js:4:11)',
+ 'at Object. (/.../console.history/test/node.js:6:9)',
+ 'at Module._compile (module.js:571:32)',
+ 'at Object.Module._extensions..js (module.js:580:10)',
+ 'at Module.load (module.js:488:32)',
+ 'at tryModuleLoad (module.js:447:12)',
+ 'at Function.Module._load (module.js:439:3)',
+ 'at Module.runMain (module.js:605:10)'
+ ]
+ }
+]
+```
+
+#### Intercepting the log function
+You can add your own middleware to `console.history` with the function `console._intercept(type, args)`. This can prove useful when you need to access a new log entry before or after it gets logged and added to the history array. See an example below.
+
+```js
+console._intercept = function (type, args) {
+
+ if (type === 'error') {
+ // send the error to your server or do something else..
+ }
+
+ // pass the log intent to the collector.
+ console._collect(type, args)
+}
+
+```
+
+#### Limitations
+
+Every saved console log is stored locally in the array `console.history`. A page reload will erase all history, as the array is not permanently stored. You could use `localStorage` or `sessionStorage` for that.
+
+### How it works
+This script is basically a man-in-the-middle for all `console[log/info/warn/error/debug]` functions. Every call gets intercepted, printed and added to the history array.
+
+
+
+The code is not that hard to understand, see [`console-history.js`](/console-history.js) with in-line comments explaining the code.
### Contributing
-If you'd like to contribute to console.history, or file a bug or feature request,
-please head over to the issue tracker or open a pull request.
+If you'd like to contribute to console.history, or file a bug or feature request, please head over to the issue tracker or open a pull request.
-Testing is as easy as running [`jekyll serve`](https://jekyllrb.com) in the project's directory,
-navigating to `localhost:4000/test` in your browser and opening [DevTools](https://developer.chrome.com/devtools).
+Testing browser-side is as easy as running [`jekyll serve`](https://jekyllrb.com) in the project's directory, navigating to `localhost:4000/test` in your browser and opening [DevTools](https://developer.chrome.com/devtools).
```shell
git clone https://github.com/lesander/console.history.git
cd console.history
@@ -63,10 +102,7 @@ jekyll serve
```
### License
-This software is open-sourced under the MIT License ([see the LICENSE file for
-the full license](/LICENSE)). So within some limits, you can do with the code whatever
-you want. However, if you like and/or want to re-use it, I'd really appreciate
-a reference to this project page.
+This software is open-sourced under the MIT License ([see the LICENSE file for the full license](/LICENSE)). So within some limits, you can do with the code whatever you want. However, if you like and/or want to re-use it, I'd really appreciate a reference to this project page.
The software is provided as is. It might work as expected - or not.
Just don't blame me.