diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/Spider.java b/webmagic-core/src/main/java/us/codecraft/webmagic/Spider.java
index facfd95..a25fd02 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/Spider.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/Spider.java
@@ -2,7 +2,6 @@ package us.codecraft.webmagic;
import org.apache.commons.collections.CollectionUtils;
import org.apache.log4j.Logger;
-import us.codecraft.webmagic.annotation.ObjectPageProcessor;
import us.codecraft.webmagic.downloader.Destroyable;
import us.codecraft.webmagic.downloader.Downloader;
import us.codecraft.webmagic.downloader.HttpClientDownloader;
diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/AfterExtractor.java b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/AfterExtractor.java
similarity index 87%
rename from webmagic-core/src/main/java/us/codecraft/webmagic/annotation/AfterExtractor.java
rename to webmagic-core/src/main/java/us/codecraft/webmagic/oo/AfterExtractor.java
index 89d03e9..cb9788b 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/AfterExtractor.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/AfterExtractor.java
@@ -1,4 +1,4 @@
-package us.codecraft.webmagic.annotation;
+package us.codecraft.webmagic.oo;
import us.codecraft.webmagic.Page;
diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ConsolePageModelPipeline.java b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/ConsolePageModelPipeline.java
similarity index 90%
rename from webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ConsolePageModelPipeline.java
rename to webmagic-core/src/main/java/us/codecraft/webmagic/oo/ConsolePageModelPipeline.java
index 9991b7f..16b1ef2 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ConsolePageModelPipeline.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/ConsolePageModelPipeline.java
@@ -1,4 +1,4 @@
-package us.codecraft.webmagic.annotation;
+package us.codecraft.webmagic.oo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import us.codecraft.webmagic.Task;
diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ExtractBy.java b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/ExtractBy.java
similarity index 92%
rename from webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ExtractBy.java
rename to webmagic-core/src/main/java/us/codecraft/webmagic/oo/ExtractBy.java
index 115a219..00ff7fb 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ExtractBy.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/ExtractBy.java
@@ -1,4 +1,4 @@
-package us.codecraft.webmagic.annotation;
+package us.codecraft.webmagic.oo;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ExtractByUrl.java b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/ExtractByUrl.java
similarity index 90%
rename from webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ExtractByUrl.java
rename to webmagic-core/src/main/java/us/codecraft/webmagic/oo/ExtractByUrl.java
index c40c9ca..715112c 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ExtractByUrl.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/ExtractByUrl.java
@@ -1,4 +1,4 @@
-package us.codecraft.webmagic.annotation;
+package us.codecraft.webmagic.oo;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/FieldExtractor.java b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/FieldExtractor.java
similarity index 96%
rename from webmagic-core/src/main/java/us/codecraft/webmagic/annotation/FieldExtractor.java
rename to webmagic-core/src/main/java/us/codecraft/webmagic/oo/FieldExtractor.java
index 4cd09ef..26c1ec6 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/FieldExtractor.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/FieldExtractor.java
@@ -1,4 +1,4 @@
-package us.codecraft.webmagic.annotation;
+package us.codecraft.webmagic.oo;
import us.codecraft.webmagic.selector.Selector;
diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/HelpUrl.java b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/HelpUrl.java
similarity index 89%
rename from webmagic-core/src/main/java/us/codecraft/webmagic/annotation/HelpUrl.java
rename to webmagic-core/src/main/java/us/codecraft/webmagic/oo/HelpUrl.java
index e5727f0..1746048 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/HelpUrl.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/HelpUrl.java
@@ -1,4 +1,4 @@
-package us.codecraft.webmagic.annotation;
+package us.codecraft.webmagic.oo;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/OOSpider.java b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/OOSpider.java
similarity index 97%
rename from webmagic-core/src/main/java/us/codecraft/webmagic/annotation/OOSpider.java
rename to webmagic-core/src/main/java/us/codecraft/webmagic/oo/OOSpider.java
index e500745..d41ee9f 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/OOSpider.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/OOSpider.java
@@ -1,4 +1,4 @@
-package us.codecraft.webmagic.annotation;
+package us.codecraft.webmagic.oo;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
@@ -16,7 +16,6 @@ public class OOSpider extends Spider {
*
* @param pageProcessor 已定义的抽取规则
*/
-
private ObjectPageProcessor objectPageProcessor;
private ObjectPipeline objectPipeline;
diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ObjectPageProcessor.java b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/ObjectPageProcessor.java
similarity index 98%
rename from webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ObjectPageProcessor.java
rename to webmagic-core/src/main/java/us/codecraft/webmagic/oo/ObjectPageProcessor.java
index f375868..dda96b5 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ObjectPageProcessor.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/ObjectPageProcessor.java
@@ -1,4 +1,4 @@
-package us.codecraft.webmagic.annotation;
+package us.codecraft.webmagic.oo;
import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Request;
diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ObjectPipeline.java b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/ObjectPipeline.java
similarity index 96%
rename from webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ObjectPipeline.java
rename to webmagic-core/src/main/java/us/codecraft/webmagic/oo/ObjectPipeline.java
index 0b3ec4d..a5f02ed 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ObjectPipeline.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/ObjectPipeline.java
@@ -1,4 +1,4 @@
-package us.codecraft.webmagic.annotation;
+package us.codecraft.webmagic.oo;
import us.codecraft.webmagic.ResultItems;
import us.codecraft.webmagic.Task;
diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/PageModelExtractor.java b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/PageModelExtractor.java
similarity index 99%
rename from webmagic-core/src/main/java/us/codecraft/webmagic/annotation/PageModelExtractor.java
rename to webmagic-core/src/main/java/us/codecraft/webmagic/oo/PageModelExtractor.java
index f91252f..dc1ef82 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/PageModelExtractor.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/PageModelExtractor.java
@@ -1,4 +1,4 @@
-package us.codecraft.webmagic.annotation;
+package us.codecraft.webmagic.oo;
import org.apache.commons.lang3.StringUtils;
import us.codecraft.webmagic.Page;
diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/PageModelPipeline.java b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/PageModelPipeline.java
similarity index 83%
rename from webmagic-core/src/main/java/us/codecraft/webmagic/annotation/PageModelPipeline.java
rename to webmagic-core/src/main/java/us/codecraft/webmagic/oo/PageModelPipeline.java
index afef926..7406cde 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/PageModelPipeline.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/PageModelPipeline.java
@@ -1,4 +1,4 @@
-package us.codecraft.webmagic.annotation;
+package us.codecraft.webmagic.oo;
import us.codecraft.webmagic.Task;
diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/TargetUrl.java b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/TargetUrl.java
similarity index 89%
rename from webmagic-core/src/main/java/us/codecraft/webmagic/annotation/TargetUrl.java
rename to webmagic-core/src/main/java/us/codecraft/webmagic/oo/TargetUrl.java
index 5303064..7bbb962 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/TargetUrl.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/oo/TargetUrl.java
@@ -1,4 +1,4 @@
-package us.codecraft.webmagic.annotation;
+package us.codecraft.webmagic.oo;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/webmagic-core/src/test/java/us/codecraft/webmagic/annotation/OschinaBlog.java b/webmagic-core/src/test/java/us/codecraft/webmagic/oo/OschinaBlog.java
similarity index 88%
rename from webmagic-core/src/test/java/us/codecraft/webmagic/annotation/OschinaBlog.java
rename to webmagic-core/src/test/java/us/codecraft/webmagic/oo/OschinaBlog.java
index 9b83c01..937eba1 100644
--- a/webmagic-core/src/test/java/us/codecraft/webmagic/annotation/OschinaBlog.java
+++ b/webmagic-core/src/test/java/us/codecraft/webmagic/oo/OschinaBlog.java
@@ -1,4 +1,4 @@
-package us.codecraft.webmagic.annotation;
+package us.codecraft.webmagic.oo;
/**
* @author yihua.huang@dianping.com
diff --git a/webmagic-core/src/test/java/us/codecraft/webmagic/annotation/TestFetcher.java b/webmagic-core/src/test/java/us/codecraft/webmagic/oo/TestFetcher.java
similarity index 90%
rename from webmagic-core/src/test/java/us/codecraft/webmagic/annotation/TestFetcher.java
rename to webmagic-core/src/test/java/us/codecraft/webmagic/oo/TestFetcher.java
index 0026431..e8e3799 100644
--- a/webmagic-core/src/test/java/us/codecraft/webmagic/annotation/TestFetcher.java
+++ b/webmagic-core/src/test/java/us/codecraft/webmagic/oo/TestFetcher.java
@@ -1,4 +1,4 @@
-package us.codecraft.webmagic.annotation;
+package us.codecraft.webmagic.oo;
import org.junit.Test;
import us.codecraft.webmagic.Site;
diff --git a/webmagic-samples/src/main/java/us/codecraft/webmagic/annotation/samples/Blog.java b/webmagic-samples/src/main/java/us/codecraft/webmagic/oo/samples/Blog.java
similarity index 78%
rename from webmagic-samples/src/main/java/us/codecraft/webmagic/annotation/samples/Blog.java
rename to webmagic-samples/src/main/java/us/codecraft/webmagic/oo/samples/Blog.java
index c0890e1..565c711 100644
--- a/webmagic-samples/src/main/java/us/codecraft/webmagic/annotation/samples/Blog.java
+++ b/webmagic-samples/src/main/java/us/codecraft/webmagic/oo/samples/Blog.java
@@ -1,4 +1,4 @@
-package us.codecraft.webmagic.annotation.samples;
+package us.codecraft.webmagic.oo.samples;
/**
* @author yihua.huang@dianping.com
diff --git a/webmagic-samples/src/main/java/us/codecraft/webmagic/annotation/samples/IteyeBlog.java b/webmagic-samples/src/main/java/us/codecraft/webmagic/oo/samples/IteyeBlog.java
similarity index 80%
rename from webmagic-samples/src/main/java/us/codecraft/webmagic/annotation/samples/IteyeBlog.java
rename to webmagic-samples/src/main/java/us/codecraft/webmagic/oo/samples/IteyeBlog.java
index 002a42c..e289c87 100644
--- a/webmagic-samples/src/main/java/us/codecraft/webmagic/annotation/samples/IteyeBlog.java
+++ b/webmagic-samples/src/main/java/us/codecraft/webmagic/oo/samples/IteyeBlog.java
@@ -1,9 +1,9 @@
-package us.codecraft.webmagic.annotation.samples;
+package us.codecraft.webmagic.oo.samples;
import us.codecraft.webmagic.Site;
-import us.codecraft.webmagic.annotation.ExtractBy;
-import us.codecraft.webmagic.annotation.OOSpider;
-import us.codecraft.webmagic.annotation.TargetUrl;
+import us.codecraft.webmagic.oo.ExtractBy;
+import us.codecraft.webmagic.oo.OOSpider;
+import us.codecraft.webmagic.oo.TargetUrl;
/**
* @author yihua.huang@dianping.com
diff --git a/webmagic-samples/src/main/java/us/codecraft/webmagic/annotation/samples/OschinaBlog.java b/webmagic-samples/src/main/java/us/codecraft/webmagic/oo/samples/OschinaBlog.java
similarity index 81%
rename from webmagic-samples/src/main/java/us/codecraft/webmagic/annotation/samples/OschinaBlog.java
rename to webmagic-samples/src/main/java/us/codecraft/webmagic/oo/samples/OschinaBlog.java
index a5c44b0..4a52a14 100644
--- a/webmagic-samples/src/main/java/us/codecraft/webmagic/annotation/samples/OschinaBlog.java
+++ b/webmagic-samples/src/main/java/us/codecraft/webmagic/oo/samples/OschinaBlog.java
@@ -1,9 +1,9 @@
-package us.codecraft.webmagic.annotation.samples;
+package us.codecraft.webmagic.oo.samples;
import us.codecraft.webmagic.Site;
-import us.codecraft.webmagic.annotation.ExtractBy;
-import us.codecraft.webmagic.annotation.OOSpider;
-import us.codecraft.webmagic.annotation.TargetUrl;
+import us.codecraft.webmagic.oo.ExtractBy;
+import us.codecraft.webmagic.oo.OOSpider;
+import us.codecraft.webmagic.oo.TargetUrl;
/**
* @author yihua.huang@dianping.com