proofing
diff --git a/dubbo-admin-book-en/SUMMARY.md b/dubbo-admin-book-en/SUMMARY.md
index bf9d654..9713d94 100644
--- a/dubbo-admin-book-en/SUMMARY.md
+++ b/dubbo-admin-book-en/SUMMARY.md
@@ -6,5 +6,5 @@
     * [1.5 install Simple configuration center](install/simple-registry-center.md)
     * [1.6 install Simple monitor center](install/simple-monitor-center.md)
     * [1.7 install admin console](install/admin-console.md)
-* [2 Ops manual](ops/introduction.md)
+* [2 Ops manual]()
     * [2.1 admin-console Ops](ops/dubbo-ops.md)
diff --git a/dubbo-admin-book-en/install/provider-demo.md b/dubbo-admin-book-en/install/provider-demo.md
index fc08650..a960cc9 100644
--- a/dubbo-admin-book-en/install/provider-demo.md
+++ b/dubbo-admin-book-en/install/provider-demo.md
@@ -74,4 +74,4 @@
 echo status | nc -i 1 127.0.0.1 20880
 ```
 
-[^1]: Please refer to [Telnet reference manual](https://dubbo.gitbooks.io/dubbo-user-book/content/references/telnet.html)
\ No newline at end of file
+[^1]: Please refer to [Telnet reference manual](http://dubbo.io/books/dubbo-user-book-en/references/telnet.html)
\ No newline at end of file
diff --git a/dubbo-admin-book-en/install/redis.md b/dubbo-admin-book-en/install/redis.md
index f292349..c42cc3b 100644
--- a/dubbo-admin-book-en/install/redis.md
+++ b/dubbo-admin-book-en/install/redis.md
@@ -2,9 +2,9 @@
 
 
 
-Redis [^1] introductions, please refer to: [Redis application center manual](https://dubbo.gitbooks.io/dubbo-user-book-en/content/references/registry/redis.html)。
+Redis [^1] introductions, please refer to: [Redis application center manual](http://dubbo.io/books/dubbo-user-book-en/references/registry/redis.html)。
 
-you need an origin Redis server only, and change `dubbo.registry.addrss` to `redis://127.0.0.1:6379` in `conf/dubbo.properties` this file exits in Provider and Consumer here[quick start](https://dubbo.gitbooks.io/dubbo-user-book/content/quick-start.html)
+you need an origin Redis server only, and change the value from `dubbo.registry.addrss` to `redis://127.0.0.1:6379` in `conf/dubbo.properties` of [quick start](http://dubbo.io/books/dubbo-user-book-en/quick-start.html)
 
 Redis configuration center cluster [^2] write multiple server in client side and read from a single server.
 
diff --git a/dubbo-admin-book-en/install/simple-monitor-center.md b/dubbo-admin-book-en/install/simple-monitor-center.md
index 22f6e06..d1276d2 100644
--- a/dubbo-admin-book-en/install/simple-monitor-center.md
+++ b/dubbo-admin-book-en/install/simple-monitor-center.md
@@ -89,5 +89,5 @@
 
 Charts directory must be in `jetty.directory`, or it can not be accessed by web page.
 
-[^1]: Please refer to [Telnet command reference manual](https://dubbo.gitbooks.io/dubbo-user-book/content/references/telnet.html)
+[^1]: Please refer to [Telnet command reference manual](http://dubbo.io/books/dubbo-user-book-en/references/telnet.html)
 
diff --git a/dubbo-admin-book-en/install/simple-registry-center.md b/dubbo-admin-book-en/install/simple-registry-center.md
index 417b571..e0e1fd6 100644
--- a/dubbo-admin-book-en/install/simple-registry-center.md
+++ b/dubbo-admin-book-en/install/simple-registry-center.md
@@ -74,4 +74,4 @@
 echo status | nc -i 1 127.0.0.1 9090
 ```
 
-[^1]: Please refer to [Telnet command manual](https://dubbo.gitbooks.io/dubbo-user-book/content/references/telnet.html)
+[^1]: Please refer to [Telnet command manual](http://dubbo.io/books/dubbo-user-book-en/references/telnet.html)
diff --git a/dubbo-user-book-en/SUMMARY.md b/dubbo-user-book-en/SUMMARY.md
index 93c8b04..d803626 100644
--- a/dubbo-user-book-en/SUMMARY.md
+++ b/dubbo-user-book-en/SUMMARY.md
@@ -47,7 +47,7 @@
     * [6.32 Token authorization](./demos/token-authorization.md)
     * [6.33 Routing rule](./demos/routing-rule.md)
     * [6.34 Configuration rule](./demos/config-rule.md)
-    * [6.35 Service downgrade](./demos/service-downgrade.md)
+    * [6.35 Service downgrade](./demos/service-donwngrade.md)
     * [6.36 Graceful shutdown](./demos/graceful-shutdown.md)
     * [6.37 Hostname binding ](./demos/hostname-binding.md)
     * [6.38 Logger strategy](./demos/logger-strategy.md)
diff --git a/dubbo-user-book-en/demos/concurrency-control.md b/dubbo-user-book-en/demos/concurrency-control.md
index e18de3c..e271471 100644
--- a/dubbo-user-book-en/demos/concurrency-control.md
+++ b/dubbo-user-book-en/demos/concurrency-control.md
@@ -2,7 +2,7 @@
 
 ## Example of configuration
 
-### Example 1: Control the concurrency of all method for a specified service interface at server-side
+* Example 1: Control the concurrency of all method for a specified service interface at server-side
 
 Limit each method of `com.foo.BarService` to no more than 10 concurrent server-side executions (or take up thread pool threads):
 
@@ -10,7 +10,7 @@
 <dubbo:service interface="com.foo.BarService" executes="10" />
 ```
 
-### Example 2: Control the concurrency of specified method for a specified service interface at server-side
+* Example 2: Control the concurrency of specified method for a specified service interface at server-side
 
 Limit the `sayHello` method of `com.foo.BarService` to no more than 10 concurrent server-side executions(or take up thread pool threads):
 
@@ -20,7 +20,7 @@
 </dubbo:service>
 ```
 
-### Example 3: Control the concurrency of all method for a specified service interface at client-side
+* Example 3: Control the concurrency of all method for a specified service interface at client-side
 Limit each method of `com.foo.BarService` to no more than 10 concurrent client-side executions (or take up thread pool threads):
 ```xml
 <dubbo:service interface="com.foo.BarService" actives="10" />
@@ -30,7 +30,7 @@
 <dubbo:reference interface="com.foo.BarService" actives="10" />
 ```
 
-### Example 4: Control the concurrency of specified method for a specified service interface at client-side
+* Example 4: Control the concurrency of specified method for a specified service interface at client-side
 Limit the `sayHello` method of `com.foo.BarService` to no more than 10 concurrent client-side executions(or take up thread pool threads):
 ```xml
 <dubbo:service interface="com.foo.BarService">
@@ -46,7 +46,7 @@
 </dubbo:service>
 ```
 
-If `<dubbo: service>` and `<dubbo: reference>` are both configured with `actives`,`<dubbo:reference>` is preferred.Ref to:[Configuration coverage strategy](user-guide-configuration#配置覆盖)。
+If `<dubbo:service>` and `<dubbo:reference>` are both configured with `actives`,`<dubbo:reference>` is preferred.Ref to:[Configuration coverage strategy](./config-rule.md).
 
 ## Load Balance
 You can config the `loadbalance` attribute with `leastactive` at server-side or client-side,then the framework will make consumer call the minimum number of concurrent one.
diff --git a/dubbo-user-book-en/demos/config-connections.md b/dubbo-user-book-en/demos/config-connections.md
index 10db918..022f60d 100644
--- a/dubbo-user-book-en/demos/config-connections.md
+++ b/dubbo-user-book-en/demos/config-connections.md
@@ -25,6 +25,6 @@
 ```
 **NOTE:** If used default protocol(`dubbo` protocol), and the value of  `connections` attribute is great than 0,then each service reference will has itself connection,else all service which belong to same remote server will share only one connection. In this framework,we called `private` connection or `share` connection.
 
-If `<dubbo:service>` and `<dubbo:reference>` are both configured accepts/connections,`<dubbo:reference>` is preferred,Ref to [Configuration coverage strategy](user-guide-configuration#配置覆盖)。
+If `<dubbo:service>` and `<dubbo:reference>` are both configured accepts/connections,`<dubbo:reference>` is preferred,Ref to [Configuration coverage strategy](http://dubbo.io/books/dubbo-user-book-en/demos/config-rule.html).
 
 * : Because connection is connect on Server,so configure at Provider.
diff --git a/dubbo-user-book-en/demos/delay-publish.md b/dubbo-user-book-en/demos/delay-publish.md
index aba3a99..57fca10 100644
--- a/dubbo-user-book-en/demos/delay-publish.md
+++ b/dubbo-user-book-en/demos/delay-publish.md
@@ -19,20 +19,21 @@
 
 The service has already published when `Spring` parse the `<dubbo:service />` element,but the `Spring` is still initializing other beans.If there is a request coming in, and the service implementation class has a call to `applicationContext.getBean ()` usage.
 
-1. Request thread applicationContext.getBean () call, the first synchronization `singletonObjects` determine whether the existence of the bean, the synchronization does not exist to initialize the `beanDefinitionMap`, and re-synchronize `singletonObjects` write Bean instance cache.
+1. Request thread applicationContext.getBean() call, the first synchronization `singletonObjects` determine whether the existence of the bean, the synchronization does not exist to initialize the `beanDefinitionMap`, and re-synchronize `singletonObjects` write Bean instance cache.
 
     ![deadlock](../sources/images/lock-get-bean.jpg)  
 
 2. But the `Spring` initialization thread,because need to determine the `Bean` is exist,Directly synchronize beanDefinitionMap to initialize, and synchronize singletonObjects write Bean instance cache.
+
     ![/user-guide/images/lock-init-context.jpg](../sources/images/lock-init-context.jpg)  
 
 This will cause the getBean thread to lock the singletonObjects first, then lock the beanDefinitionMap, and lock the singletonObjects again.The Spring initialization thread, the first lock beanDefinitionMap, then lock singletonObjects. Reverse lock thread deadlock, can not provide services, can not start.
 
 #### Avoid ways
 
-1. It is highly recommended not to call applicationContext.getBean () in the service implementation class, all using Spring's beans using IoC injection.
-2. If you really want to tune getBean (), you can put the configuration of Dubbo Spring final loading.
-3. If you do not want to rely on the configuration order, you can use `<dubbo: provider deplay =" - 1 "/>` to make Dubbo expose the service after the Spring container has been initialized.
-4. If you use getBean () extensively, the equivalent of degenerating Spring to factory mode is to isolate Dubbo's service from a separate Spring container.
+1. It is highly recommended not to call applicationContext.getBean() in the service implementation class, all using Spring's beans using IoC injection.
+2. If you really want to tune getBean(), you can put the configuration of Dubbo Spring final loading.
+3. If you do not want to rely on the configuration order, you can use `<dubbo:provider deplay ="-1"/>` to make Dubbo expose the service after the Spring container has been initialized.
+4. If you use getBean() extensively, the equivalent of degenerating Spring to factory mode is to isolate Dubbo's service from a separate Spring container.
 
 [^1]: Base on the  `ContextRefreshedEvent` event of the  Spring to trigger publish service.
diff --git a/dubbo-user-book-en/demos/events-notify.md b/dubbo-user-book-en/demos/events-notify.md
index 6a8b2ae..2c83d33 100644
--- a/dubbo-user-book-en/demos/events-notify.md
+++ b/dubbo-user-book-en/demos/events-notify.md
@@ -1,6 +1,6 @@
 # Event Notify
 
-Before calling, after calling, when an exception occurs,will trigger `oninvoke`、`onreturn`、`onthrow` events.You can configure which method to notify when an event occurs.
+Before calling, after calling, when an exception occurs,will trigger `oninvoke`, `onreturn`, `onthrow` events.You can configure which method to notify when an event occurs.
 
 ## Service Interface
 
@@ -66,9 +66,7 @@
 ```
 `callback` and` async` functions are orthogonally decomposed. `async = true` means that the result is returned immediately.` onreturn` means that a callback is required.
 
-两者叠加存在以下几种组合情况 [^2]:
-
-There are several situations with the tow attributes.
+There are several situations with the tow attributes[^2].
 
 * Asynchronous callback mode:`async=true onreturn="xxx"`  
 * Synchronous callback mode:`async=false onreturn="xxx"`  
diff --git a/dubbo-user-book-en/demos/logger-strategy.md b/dubbo-user-book-en/demos/logger-strategy.md
index 578239f..397ec08 100644
--- a/dubbo-user-book-en/demos/logger-strategy.md
+++ b/dubbo-user-book-en/demos/logger-strategy.md
@@ -10,7 +10,7 @@
 
 0. Configure in `dubbo.properties`
 
-    ```
+    ```properties
     dubbo.application.logger=log4j
     ```
 
@@ -20,4 +20,4 @@
     <dubbo:application logger="log4j" />
     ```
 
-[^1]: Custom Extensions[logger-adapter](https://dubbo.gitbooks.io/dubbo-dev-book/content/impls/logger-adapter.html)
+[^1]: Custom Extensions[logger-adapter](http://dubbo.io/books/dubbo-dev-book-en/impls/logger-adapter.html)
diff --git a/dubbo-user-book-en/demos/routing-rule.md b/dubbo-user-book-en/demos/routing-rule.md
index 68f37e6..60fcfec 100644
--- a/dubbo-user-book-en/demos/routing-rule.md
+++ b/dubbo-user-book-en/demos/routing-rule.md
@@ -40,22 +40,22 @@
 
 Parameter Support:
 
-* Service call information, such as :method, argument etc. Parameter routing is currently not supported
-* URL field (On URL own), such as :protocol, host, port etc.
-* All parameters on the URL. such as :application, organization etc.
+* Service call information, such as: method, argument etc. Parameter routing is currently not supported
+* URL field (On URL own), such as: protocol, host, port etc.
+* All parameters on the URL. such as: application, organization etc.
 
 Condition Support:
 
-* Equal sign `=` indicates match. such as :`host = 10.20.153.10`
-* Not equal sign `! =` indicates "does not match". such as: `host != 10.20.153.10`.
+* Equal sign `=` indicates match. such as: `host = 10.20.153.10`
+* Not equal sign `!=` indicates "does not match". such as: `host != 10.20.153.10`.
 
 Value Support:
 
 * Separate multiple values with a comma `,` .  Such as:`host != 10.20.153.10,10.20.153.11`
 * End with  `*` to indicate wildcard.  Such as: `host != 10.20.*`
-* Start with `$` to indicate reference to consumer parameters. Such as :`host = $host`
+* Start with `$` to indicate reference to consumer parameters. Such as: `host = $host`
 
-### Sample:
+### Samples
 
 0. Exclude pre-release machine:
 
diff --git a/dubbo-user-book-en/demos/service-container.md b/dubbo-user-book-en/demos/service-container.md
index 62a958f..0897392 100644
--- a/dubbo-user-book-en/demos/service-container.md
+++ b/dubbo-user-book-en/demos/service-container.md
@@ -4,7 +4,7 @@
 
 The service container is just a simple Main method and loads a simple Spring container to expose the service.
 
-The content of Service container can be extended, built-in spring, jetty, log4j etc..  This can be expanded with [Container Extension Points] (https://dubbo.gitbooks.io/dubbo-dev-book/content/impls/container.html). Configure it with the -D parameter in the java command or `dubbo.properties`.
+The content of Service container can be extended, built-in spring, jetty, log4j etc..  This can be expanded with [Container Extension Points](http://dubbo.io/books/dubbo-dev-book-en/impls/container.html). Configure it with the -D parameter in the java command or `dubbo.properties`.
 
 ## Container type
 
@@ -19,19 +19,19 @@
 ### Jetty Container
 
 * Start an embedded Jetty for reporting status.
-* Configure:
-    * `dubbo.jetty.port=8080`:  configure jetty start up port
-    * `dubbo.jetty.directory=/foo/bar`:  static file that can be visited by jetty directly.
-    * `dubbo.jetty.page=log,status,system`:  configure the displayed page, loading all pages by default
+* Configure:
+    * `dubbo.jetty.port=8080`: configure jetty start up port
+    * `dubbo.jetty.directory=/foo/bar`: static file that can be visited by jetty directly.
+    * `dubbo.jetty.page=log,status,system`: configure the displayed page, loading all pages by default
 
 
 ### Log4j Container
 
 * Automatic configuration log4j configuration. At the start of the multi-process, log files automatically by process sub-directory.
-* Configure:
-    * `dubbo.log4j.file=/foo/bar.log`: configure log file path
-    * `dubbo.log4j.level=WARN`: configure log level
-    * `dubbo.log4j.subdirectory=20880`: configure log sub directory for multi-process startup and avoiding conflict
+* Configure:
+    * `dubbo.log4j.file=/foo/bar.log`: configure log file path
+    * `dubbo.log4j.level=WARN`: configure log level
+    * `dubbo.log4j.subdirectory=20880`: configure log sub directory for multi-process startup and avoiding conflict
 
 ## Container startup
 
diff --git a/dubbo-user-book-en/demos/stickiness.md b/dubbo-user-book-en/demos/stickiness.md
index 8e1c7a5..37d615d 100644
--- a/dubbo-user-book-en/demos/stickiness.md
+++ b/dubbo-user-book-en/demos/stickiness.md
@@ -2,7 +2,7 @@
 
 Sticky connections are used for stateful services, as much as possible so that clients always make calls to the same provider, unless the provider hangs up and connects to the other one.
 
-Sticky connections will automatically open [Delayed Connections] (./ lazy-connect.md) to reduce the number of long connections.
+Sticky connections will automatically open [Delayed Connections](./lazy-connect.md) to reduce the number of long connections.
 
 ```xml
 <dubbo:protocol name="dubbo" sticky="true" />
diff --git a/dubbo-user-book-en/demos/token-authorization.md b/dubbo-user-book-en/demos/token-authorization.md
index 791c63b..afbb3a1 100644
--- a/dubbo-user-book-en/demos/token-authorization.md
+++ b/dubbo-user-book-en/demos/token-authorization.md
@@ -1,4 +1,4 @@
-# token-authorization
+# Token Authorization
 
 
 Through the token authorization control center at the registry to decide whether to issue tokens to consumers, you can prevent consumers from bypassing the registry access provider, another through the registry can flexibly change the authorization without modification or upgrade provider