diff --git a/src/main/java/com/alibaba/dubbo/test/service/CatService.java b/src/main/java/com/alibaba/dubbo/test/service/CatService.java
index 913499f..8893c54 100644
--- a/src/main/java/com/alibaba/dubbo/test/service/CatService.java
+++ b/src/main/java/com/alibaba/dubbo/test/service/CatService.java
@@ -1,12 +1,10 @@
 package com.alibaba.dubbo.test.service;
 
-import com.alibaba.dubbo.test.dto.Bait;
-
 /**
  * Created by ken.lj on 2017/9/8.
  */
 public interface CatService {
-    void eat(Bait bait);
+    void eat(String master);
 
-    void getName();
+    String getName();
 }
diff --git a/src/main/java/com/alibaba/dubbo/test/service/DogService.java b/src/main/java/com/alibaba/dubbo/test/service/DogService.java
index 3fe98b9..d702530 100644
--- a/src/main/java/com/alibaba/dubbo/test/service/DogService.java
+++ b/src/main/java/com/alibaba/dubbo/test/service/DogService.java
@@ -4,7 +4,7 @@
  * Created by ken.lj on 2017/9/8.
  */
 public interface DogService {
-    void eat();
+    void eat(String master);
 
-    void getName();
+    String getName();
 }
diff --git a/src/main/java/com/alibaba/dubbo/test/service/LionService.java b/src/main/java/com/alibaba/dubbo/test/service/LionService.java
index 900ed88..28d9d92 100644
--- a/src/main/java/com/alibaba/dubbo/test/service/LionService.java
+++ b/src/main/java/com/alibaba/dubbo/test/service/LionService.java
@@ -4,7 +4,7 @@
  * Created by ken.lj on 2017/9/8.
  */
 public interface LionService {
-    void eat();
+    void eat(String master);
 
-    void getName();
+    String getName();
 }
diff --git a/src/main/java/com/alibaba/dubbo/test/service/MouseService.java b/src/main/java/com/alibaba/dubbo/test/service/MouseService.java
index c02c03d..8210910 100644
--- a/src/main/java/com/alibaba/dubbo/test/service/MouseService.java
+++ b/src/main/java/com/alibaba/dubbo/test/service/MouseService.java
@@ -4,7 +4,7 @@
  * Created by ken.lj on 2017/9/8.
  */
 public interface MouseService {
-    void eat();
+    void eat(String master);
 
     String getName();
 }
diff --git a/src/main/java/com/alibaba/dubbo/test/service/impl/CatServiceImpl.java b/src/main/java/com/alibaba/dubbo/test/service/impl/CatServiceImpl.java
index cf8f251..e685783 100644
--- a/src/main/java/com/alibaba/dubbo/test/service/impl/CatServiceImpl.java
+++ b/src/main/java/com/alibaba/dubbo/test/service/impl/CatServiceImpl.java
@@ -1,6 +1,5 @@
 package com.alibaba.dubbo.test.service.impl;
 
-import com.alibaba.dubbo.test.dto.Bait;
 import com.alibaba.dubbo.test.service.CatService;
 import com.alibaba.dubbo.test.service.MouseService;
 
@@ -15,12 +14,13 @@
     private MouseService mouseService;
 
     @Override
-    public void eat(Bait bait) {
-
+    public void eat(String master) {
+        System.out.println(master + " eat me.");
+        mouseService.eat("Cat");
     }
 
     @Override
-    public void getName() {
-
+    public String getName() {
+        return "Tom Cat";
     }
 }
diff --git a/src/main/java/com/alibaba/dubbo/test/service/impl/DogServiceImpl.java b/src/main/java/com/alibaba/dubbo/test/service/impl/DogServiceImpl.java
index 3e5077d..7a56d31 100644
--- a/src/main/java/com/alibaba/dubbo/test/service/impl/DogServiceImpl.java
+++ b/src/main/java/com/alibaba/dubbo/test/service/impl/DogServiceImpl.java
@@ -16,12 +16,14 @@
     private MouseService mouseService;
 
     @Override
-    public void eat() {
-
+    public void eat(String master) {
+        System.out.println(master + " eat me.");
+        catService.eat("cat");
+        mouseService.eat("mouse");
     }
 
     @Override
-    public void getName() {
-
+    public String getName() {
+        return "Hachiko Dog";
     }
 }
diff --git a/src/main/java/com/alibaba/dubbo/test/service/impl/LionServiceImpl.java b/src/main/java/com/alibaba/dubbo/test/service/impl/LionServiceImpl.java
index 83dcd74..75ff244 100644
--- a/src/main/java/com/alibaba/dubbo/test/service/impl/LionServiceImpl.java
+++ b/src/main/java/com/alibaba/dubbo/test/service/impl/LionServiceImpl.java
@@ -19,12 +19,15 @@
     private DogService dogService;
 
     @Override
-    public void eat() {
-
+    public void eat(String master) {
+        System.out.println(master + " eat me.");
+        dogService.eat("dog");
+        catService.eat("cat");
+        mouseService.eat("mouse");
     }
 
     @Override
-    public void getName() {
-
+    public String getName() {
+        return "Simba Lion";
     }
 }
diff --git a/src/main/java/com/alibaba/dubbo/test/service/impl/MouseServiceImpl.java b/src/main/java/com/alibaba/dubbo/test/service/impl/MouseServiceImpl.java
index 1ae731a..ae2e352 100644
--- a/src/main/java/com/alibaba/dubbo/test/service/impl/MouseServiceImpl.java
+++ b/src/main/java/com/alibaba/dubbo/test/service/impl/MouseServiceImpl.java
@@ -2,16 +2,14 @@
 
 import com.alibaba.dubbo.test.service.MouseService;
 
-import org.springframework.stereotype.Service;
-
 /**
  * Created by ken.lj on 2017/9/8.
  */
 
 public class MouseServiceImpl implements MouseService {
     @Override
-    public void eat() {
-
+    public void eat(String master) {
+        System.out.println(master + " eat me.");
     }
 
     @Override
