resolve conflict in readme
diff --git a/.gitignore b/.gitignore
index 485dee6..1363720 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 .idea
+coverage.txt
diff --git a/.travis.yml b/.travis.yml
index 1a780a1..d055790 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,13 +6,17 @@
       jdk: openjdk8
 
 go:
-  - "1.12"
+  - "1.13"
 
 script:
   - mvn clean package -f test_hessian/pom.xml
   - mvn clean package -f test_dubbo/pom.xml
   - go fmt && [[ -z `git status -s` ]]
-  - GO111MODULE=on && go mod vendor && go test -race -v && go test -bench . -race
+  - GO111MODULE=on && go mod vendor && go test -race -v && go test -bench . -race -coverprofile=coverage.txt
+
+after_success:
+  - bash <(curl -s https://codecov.io/bash)
 
 notifications:
-  webhooks: https://oapi.dingtalk.com/robot/send?access_token=27a5eb4510c8cf913b67a72832549b123a8c44655483d20443515604669de0ae
\ No newline at end of file
+  webhooks: https://oapi.dingtalk.com/robot/send?access_token=27a5eb4510c8cf913b67a72832549b123a8c44655483d20443515604669de0ae
+  webhooks: https://oapi.dingtalk.com/robot/send?access_token=8250008579ed1defda3a44fb8608a38d81a55700fdfb15466315a90a7dd2045f
diff --git a/README.md b/README.md
index c007af4..8f96e36 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
 # gohessian
 
 [![Build Status](https://travis-ci.org/apache/dubbo-go-hessian2.png?branch=master)](https://travis-ci.org/apache/dubbo-go-hessian2)
-[![GoCover](http://gocover.io/_badge/github.com/apache/dubbo-go-hessian2)](http://gocover.io/github.com/apache/dubbo-go-hessian2)
+[![codecov](https://codecov.io/gh/apache/dubbo-go-hessian2/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/dubbo-go-hessian2)
 [![GoDoc](https://godoc.org/github.com/apache/dubbo-go-hessian2?status.svg)](https://godoc.org/github.com/apache/dubbo-go-hessian2)
 
 
@@ -46,10 +46,6 @@
 | **OTHER COMMON USING TYPE** | | | 
 | **big decimal** | java.math.BigDecimal | github.com/dubbogo/gost/math/big/Decimal |
 | **big integer** | java.math.BigInteger | github.com/dubbogo/gost/math/big/Integer |
-| **Boolean** | Boolean | \*bool (TODO) |
-| **Integer** | Integer | \*int32 (TODO)|
-| **Long** | Long | \*int64 (TODO)|
-| **Double** | Double | \*float64 (TODO) |
 
 ## reference
 
@@ -227,8 +223,8 @@
 ```
 
 #### Using Java collections
-By default, the output of Hessian Java impl of a Java collection like java.util.HashSet will be decoded as `[]interface{}` in this Go impl.
-To apply the one-to-one relationship between certain Java collection and your Go struct, examples are as follows:
+By default, the output of Hessian Java impl of a Java collection like java.util.HashSet will be decoded as `[]interface{}` in `go-hessian2`.
+To apply the one-to-one mapping relationship between certain Java collection class and your Go struct, examples are as follows:
 
 ```go
 //use HashSet as example
@@ -256,6 +252,37 @@
         //register your struct so that hessian can recognized it when encoding and decoding 
 	SetCollectionSerialize(&JavaHashSet{})
 }
+```
 
 
+
+## Notice for inheritance
+
+`go-hessian2` supports inheritance struct, but the following situations should be avoided.
+
++ **Avoid fields with the same name in multiple parent struct**
+
+The following struct `C` have inherited field `Name`(default from the first parent), 
+but it's confused in logic.
+
+```go
+type A struct { Name string }
+type B struct { Name string }
+type C struct {
+	A
+	B
+}
+```
+
++ **Avoid inheritance for a pointer of struct**
+
+The following definition is valid for golang syntax, 
+but the parent will be nil when create a new Dog, like `dog := Dog{}`, 
+which will not happen in java inheritance, 
+and is also not supported by `go-hessian2`.
+
+```go
+type Dog struct {
+	*Animal
+}
 ```
\ No newline at end of file
diff --git a/go.mod b/go.mod
index 8497c83..4a2c293 100644
--- a/go.mod
+++ b/go.mod
@@ -5,3 +5,5 @@
 	github.com/pkg/errors v0.8.1
 	github.com/stretchr/testify v1.4.0
 )
+
+go 1.13