diff --git a/htrace-core/src/main/java/org/apache/htrace/core/MilliSpan.java b/htrace-core/src/main/java/org/apache/htrace/core/MilliSpan.java
index 49b5fbe..afef809 100644
--- a/htrace-core/src/main/java/org/apache/htrace/core/MilliSpan.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/MilliSpan.java
@@ -342,7 +342,7 @@
     }
   }
 
-  static MilliSpan fromJson(String json) throws IOException {
+  public static MilliSpan fromJson(String json) throws IOException {
     return JSON_READER.readValue(json);
   }
 }
diff --git a/htrace-flume/src/main/java/org/apache/htrace/impl/FlumeSpanReceiver.java b/htrace-flume/src/main/java/org/apache/htrace/impl/FlumeSpanReceiver.java
index f930c02..4820bd0 100644
--- a/htrace-flume/src/main/java/org/apache/htrace/impl/FlumeSpanReceiver.java
+++ b/htrace-flume/src/main/java/org/apache/htrace/impl/FlumeSpanReceiver.java
@@ -39,9 +39,10 @@
 import org.apache.flume.api.RpcClient;
 import org.apache.flume.api.RpcClientFactory;
 import org.apache.flume.event.EventBuilder;
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.Span;
-import org.apache.htrace.SpanReceiver;
+import org.apache.htrace.core.HTraceConfiguration;
+import org.apache.htrace.core.Span;
+import org.apache.htrace.core.SpanReceiver;
+import org.apache.htrace.core.TracerId;
 
 public class FlumeSpanReceiver implements SpanReceiver {
   private static final Log LOG = LogFactory.getLog(FlumeSpanReceiver.class);
diff --git a/htrace-flume/src/test/java/org/apache/htrace/impl/TestFlumeSpanReceiver.java b/htrace-flume/src/test/java/org/apache/htrace/impl/TestFlumeSpanReceiver.java
index d144b62..d5037c8 100644
--- a/htrace-flume/src/test/java/org/apache/htrace/impl/TestFlumeSpanReceiver.java
+++ b/htrace-flume/src/test/java/org/apache/htrace/impl/TestFlumeSpanReceiver.java
@@ -17,10 +17,12 @@
 
 package org.apache.htrace.impl;
 
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.Span;
-import org.apache.htrace.SpanId;
-import org.apache.htrace.TraceCreator;
+import org.apache.htrace.core.HTraceConfiguration;
+import org.apache.htrace.core.HTraceConfiguration;
+import org.apache.htrace.core.MilliSpan;
+import org.apache.htrace.core.Span;
+import org.apache.htrace.core.SpanId;
+import org.apache.htrace.core.TraceCreator;
 import org.junit.Assert;
 import org.junit.Rule;
 import org.junit.Test;
diff --git a/htrace-hbase/src/main/java/org/apache/htrace/HBaseHTraceConfiguration.java b/htrace-hbase/src/main/java/org/apache/htrace/HBaseHTraceConfiguration.java
index 86401bf..ccb4ade 100644
--- a/htrace-hbase/src/main/java/org/apache/htrace/HBaseHTraceConfiguration.java
+++ b/htrace-hbase/src/main/java/org/apache/htrace/HBaseHTraceConfiguration.java
@@ -19,7 +19,7 @@
 package org.apache.htrace;
 
 import org.apache.hadoop.conf.Configuration;
-import org.apache.htrace.HTraceConfiguration;
+import org.apache.htrace.core.HTraceConfiguration;
 
 /**
  * Meshes {@link HTraceConfiguration} to {@link Configuration}
@@ -49,4 +49,4 @@
   public boolean getBoolean(String key, boolean defaultValue) {
     return conf.getBoolean(KEY_PREFIX + key, defaultValue);
   }
-}
\ No newline at end of file
+}
diff --git a/htrace-hbase/src/main/java/org/apache/htrace/HBaseSpanReceiverHost.java b/htrace-hbase/src/main/java/org/apache/htrace/HBaseSpanReceiverHost.java
index a6c8382..12f36cb 100644
--- a/htrace-hbase/src/main/java/org/apache/htrace/HBaseSpanReceiverHost.java
+++ b/htrace-hbase/src/main/java/org/apache/htrace/HBaseSpanReceiverHost.java
@@ -24,8 +24,10 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.htrace.SpanReceiver;
-import org.apache.htrace.Trace;
+import org.apache.htrace.core.HTraceConfiguration;
+import org.apache.htrace.core.SpanReceiver;
+import org.apache.htrace.core.SpanReceiverBuilder;
+import org.apache.htrace.core.Trace;
 
 /**
  * This class provides functions for reading the names of SpanReceivers from
@@ -102,4 +104,4 @@
       }
     }
   }
-}
\ No newline at end of file
+}
diff --git a/htrace-hbase/src/main/java/org/apache/htrace/impl/HBaseSpanReceiver.java b/htrace-hbase/src/main/java/org/apache/htrace/impl/HBaseSpanReceiver.java
index 381010f..b0720f3 100644
--- a/htrace-hbase/src/main/java/org/apache/htrace/impl/HBaseSpanReceiver.java
+++ b/htrace-hbase/src/main/java/org/apache/htrace/impl/HBaseSpanReceiver.java
@@ -41,14 +41,15 @@
 import org.apache.hadoop.hbase.client.Table;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.htrace.HBaseHTraceConfiguration;
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.Sampler;
-import org.apache.htrace.Span;
-import org.apache.htrace.SpanReceiver;
-import org.apache.htrace.SpanReceiverBuilder;
-import org.apache.htrace.TimelineAnnotation;
-import org.apache.htrace.Trace;
-import org.apache.htrace.TraceScope;
+import org.apache.htrace.core.HTraceConfiguration;
+import org.apache.htrace.core.Sampler;
+import org.apache.htrace.core.Span;
+import org.apache.htrace.core.SpanReceiver;
+import org.apache.htrace.core.SpanReceiverBuilder;
+import org.apache.htrace.core.TimelineAnnotation;
+import org.apache.htrace.core.Trace;
+import org.apache.htrace.core.TracerId;
+import org.apache.htrace.core.TraceScope;
 import org.apache.htrace.protobuf.generated.SpanProtos;
 
 /**
diff --git a/htrace-hbase/src/test/java/org/apache/htrace/impl/HBaseTestUtil.java b/htrace-hbase/src/test/java/org/apache/htrace/impl/HBaseTestUtil.java
index 8743f8a..db7f6c6 100644
--- a/htrace-hbase/src/test/java/org/apache/htrace/impl/HBaseTestUtil.java
+++ b/htrace-hbase/src/test/java/org/apache/htrace/impl/HBaseTestUtil.java
@@ -26,8 +26,8 @@
 import org.apache.hadoop.hbase.client.Table;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.htrace.HBaseHTraceConfiguration;
-import org.apache.htrace.SpanReceiver;
-import org.apache.htrace.SpanReceiverBuilder;
+import org.apache.htrace.core.SpanReceiver;
+import org.apache.htrace.core.SpanReceiverBuilder;
 import org.junit.Assert;
 
 
@@ -76,4 +76,4 @@
       }
     }
   }
-}
\ No newline at end of file
+}
diff --git a/htrace-hbase/src/test/java/org/apache/htrace/impl/TestHBaseSpanReceiver.java b/htrace-hbase/src/test/java/org/apache/htrace/impl/TestHBaseSpanReceiver.java
index 2224599..f1a3d19 100644
--- a/htrace-hbase/src/test/java/org/apache/htrace/impl/TestHBaseSpanReceiver.java
+++ b/htrace-hbase/src/test/java/org/apache/htrace/impl/TestHBaseSpanReceiver.java
@@ -32,18 +32,18 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
-import org.apache.hadoop.hbase.client.Table;
 import org.apache.hadoop.hbase.client.Result;
 import org.apache.hadoop.hbase.client.ResultScanner;
 import org.apache.hadoop.hbase.client.Scan;
+import org.apache.hadoop.hbase.client.Table;
 import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.htrace.Span;
-import org.apache.htrace.SpanId;
-import org.apache.htrace.SpanReceiver;
-import org.apache.htrace.TimelineAnnotation;
-import org.apache.htrace.TraceCreator;
-import org.apache.htrace.TraceGraph.SpansByParent;
-import org.apache.htrace.TraceGraph;
+import org.apache.htrace.core.Span;
+import org.apache.htrace.core.SpanId;
+import org.apache.htrace.core.SpanReceiver;
+import org.apache.htrace.core.TimelineAnnotation;
+import org.apache.htrace.core.TraceCreator;
+import org.apache.htrace.core.TraceGraph.SpansByParent;
+import org.apache.htrace.core.TraceGraph;
 import org.apache.htrace.protobuf.generated.SpanProtos;
 import org.junit.AfterClass;
 import org.junit.Assert;
diff --git a/htrace-htraced/src/main/java/org/apache/htrace/impl/HTracedRESTReceiver.java b/htrace-htraced/src/main/java/org/apache/htrace/impl/HTracedRESTReceiver.java
index bd8764b..77d0f49 100644
--- a/htrace-htraced/src/main/java/org/apache/htrace/impl/HTracedRESTReceiver.java
+++ b/htrace-htraced/src/main/java/org/apache/htrace/impl/HTracedRESTReceiver.java
@@ -17,7 +17,6 @@
  */
 package org.apache.htrace.impl;
 
-
 import java.io.IOException;
 import java.net.URL;
 import java.util.ArrayDeque;
@@ -30,9 +29,10 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.Span;
-import org.apache.htrace.SpanReceiver;
+import org.apache.htrace.core.HTraceConfiguration;
+import org.apache.htrace.core.Span;
+import org.apache.htrace.core.SpanReceiver;
+import org.apache.htrace.core.TracerId;
 import org.eclipse.jetty.client.HttpClient;
 import org.eclipse.jetty.client.api.ContentResponse;
 import org.eclipse.jetty.client.api.Request;
diff --git a/htrace-htraced/src/test/java/org/apache/htrace/impl/TestHTracedRESTReceiver.java b/htrace-htraced/src/test/java/org/apache/htrace/impl/TestHTracedRESTReceiver.java
index 99f2c50..5e4bfc6 100644
--- a/htrace-htraced/src/test/java/org/apache/htrace/impl/TestHTracedRESTReceiver.java
+++ b/htrace-htraced/src/test/java/org/apache/htrace/impl/TestHTracedRESTReceiver.java
@@ -26,9 +26,11 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.Span;
-import org.apache.htrace.SpanId;
+import org.apache.htrace.core.HTraceConfiguration;
+import org.apache.htrace.core.MilliSpan;
+import org.apache.htrace.core.Span;
+import org.apache.htrace.core.SpanId;
+import org.apache.htrace.core.TracerId;
 import org.apache.htrace.util.DataDir;
 import org.apache.htrace.util.HTracedProcess;
 import org.apache.htrace.util.TestUtil;
diff --git a/htrace-zipkin/src/main/java/org/apache/htrace/impl/ZipkinSpanReceiver.java b/htrace-zipkin/src/main/java/org/apache/htrace/impl/ZipkinSpanReceiver.java
index 8326100..6ba1afe 100644
--- a/htrace-zipkin/src/main/java/org/apache/htrace/impl/ZipkinSpanReceiver.java
+++ b/htrace-zipkin/src/main/java/org/apache/htrace/impl/ZipkinSpanReceiver.java
@@ -23,9 +23,10 @@
 import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.Span;
-import org.apache.htrace.SpanReceiver;
+import org.apache.htrace.core.HTraceConfiguration;
+import org.apache.htrace.core.Span;
+import org.apache.htrace.core.SpanReceiver;
+import org.apache.htrace.core.TracerId;
 import org.apache.htrace.zipkin.HTraceToZipkinConverter;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.protocol.TProtocol;
diff --git a/htrace-zipkin/src/main/java/org/apache/htrace/zipkin/HTraceToZipkinConverter.java b/htrace-zipkin/src/main/java/org/apache/htrace/zipkin/HTraceToZipkinConverter.java
index 3921370..8499244 100644
--- a/htrace-zipkin/src/main/java/org/apache/htrace/zipkin/HTraceToZipkinConverter.java
+++ b/htrace-zipkin/src/main/java/org/apache/htrace/zipkin/HTraceToZipkinConverter.java
@@ -22,10 +22,9 @@
 import com.twitter.zipkin.gen.Endpoint;
 import com.twitter.zipkin.gen.Span;
 import com.twitter.zipkin.gen.zipkinCoreConstants;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.htrace.TimelineAnnotation;
+import org.apache.htrace.core.TimelineAnnotation;
 
 import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
@@ -104,7 +103,7 @@
    * <li>Set the last annotation. [SS, CR]
    * </ul>
    */
-  public Span convert(org.apache.htrace.Span hTraceSpan) {
+  public Span convert(org.apache.htrace.core.Span hTraceSpan) {
     Span zipkinSpan = new Span();
     String serviceName = hTraceSpan.getTracerId().toLowerCase();
     Endpoint ep = new Endpoint(ipv4Address, (short) getPort(serviceName), serviceName);
@@ -128,7 +127,7 @@
   /**
    * Add annotations from the htrace Span.
    */
-  private List<Annotation> createZipkinAnnotations(org.apache.htrace.Span hTraceSpan,
+  private List<Annotation> createZipkinAnnotations(org.apache.htrace.core.Span hTraceSpan,
                                                    Endpoint ep) {
     List<Annotation> annotationList = new ArrayList<Annotation>();
 
@@ -150,7 +149,7 @@
    *
    * @return list of Annotations that could be added to Zipkin Span.
    */
-  private List<BinaryAnnotation> createZipkinBinaryAnnotations(org.apache.htrace.Span span,
+  private List<BinaryAnnotation> createZipkinBinaryAnnotations(org.apache.htrace.core.Span span,
                                                                Endpoint ep) {
     List<BinaryAnnotation> l = new ArrayList<BinaryAnnotation>();
     for (Map.Entry<String, String> e : span.getKVAnnotations().entrySet()) {
diff --git a/htrace-zipkin/src/test/java/org/apache/htrace/TestHTraceSpanToZipkinSpan.java b/htrace-zipkin/src/test/java/org/apache/htrace/TestHTraceSpanToZipkinSpan.java
index 579b98d..5b1ac3d 100644
--- a/htrace-zipkin/src/test/java/org/apache/htrace/TestHTraceSpanToZipkinSpan.java
+++ b/htrace-zipkin/src/test/java/org/apache/htrace/TestHTraceSpanToZipkinSpan.java
@@ -19,12 +19,12 @@
 
 import com.twitter.zipkin.gen.zipkinCoreConstants;
 
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.Span;
-import org.apache.htrace.SpanId;
-import org.apache.htrace.Trace;
-import org.apache.htrace.impl.MilliSpan;
-import org.apache.htrace.impl.POJOSpanReceiver;
+import org.apache.htrace.core.HTraceConfiguration;
+import org.apache.htrace.core.Span;
+import org.apache.htrace.core.SpanId;
+import org.apache.htrace.core.Trace;
+import org.apache.htrace.core.MilliSpan;
+import org.apache.htrace.core.POJOSpanReceiver;
 import org.apache.htrace.zipkin.HTraceToZipkinConverter;
 import org.junit.Assert;
 import org.junit.Test;
