diff --git a/graph/pom.xml b/graphx/pom.xml
similarity index 100%
rename from graph/pom.xml
rename to graphx/pom.xml
diff --git a/graph/src/main/scala/org/apache/spark/graph/Analytics.scala b/graphx/src/main/scala/org/apache/spark/graphx/Analytics.scala
similarity index 99%
rename from graph/src/main/scala/org/apache/spark/graph/Analytics.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/Analytics.scala
index 14b9be73f1651d71d3bd08439656a3c0ab10c490..0cafc3fdf94ce29cd47ad71d3c6969c9b47c7913 100644
--- a/graph/src/main/scala/org/apache/spark/graph/Analytics.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/Analytics.scala
@@ -1,7 +1,7 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 import org.apache.spark._
-import org.apache.spark.graph.algorithms._
+import org.apache.spark.graphx.algorithms._
 
 
 /**
@@ -49,7 +49,7 @@ object Analytics extends Logging {
      val serializer = "org.apache.spark.serializer.KryoSerializer"
      System.setProperty("spark.serializer", serializer)
      //System.setProperty("spark.shuffle.compress", "false")
-     System.setProperty("spark.kryo.registrator", "org.apache.spark.graph.GraphKryoRegistrator")
+     System.setProperty("spark.kryo.registrator", "org.apache.spark.graphx.GraphKryoRegistrator")
 
      taskType match {
        case "pagerank" => {
@@ -400,7 +400,7 @@ object Analytics extends Logging {
 
   //   System.setProperty("spark.serializer", "spark.KryoSerializer")
   //   //System.setProperty("spark.shuffle.compress", "false")
-  //   System.setProperty("spark.kryo.registrator", "spark.graph.GraphKryoRegistrator")
+  //   System.setProperty("spark.kryo.registrator", "spark.graphx.GraphKryoRegistrator")
 
   //   taskType match {
   //     case "pagerank" => {
diff --git a/graph/src/main/scala/org/apache/spark/graph/Edge.scala b/graphx/src/main/scala/org/apache/spark/graphx/Edge.scala
similarity index 97%
rename from graph/src/main/scala/org/apache/spark/graph/Edge.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/Edge.scala
index 19c28bea685ba5ca0a8c24c85ac4b95332ea5a21..29b46674f149c55e24736c3d733647890fc8b6fc 100644
--- a/graph/src/main/scala/org/apache/spark/graph/Edge.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/Edge.scala
@@ -1,4 +1,4 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 
 /**
diff --git a/graph/src/main/scala/org/apache/spark/graph/EdgeDirection.scala b/graphx/src/main/scala/org/apache/spark/graphx/EdgeDirection.scala
similarity index 88%
rename from graph/src/main/scala/org/apache/spark/graph/EdgeDirection.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/EdgeDirection.scala
index a1468a152baa9dacac7d2d0e919994533bf91002..785f941650139bef45dae36c11bf743d3ec94a56 100644
--- a/graph/src/main/scala/org/apache/spark/graph/EdgeDirection.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/EdgeDirection.scala
@@ -1,4 +1,4 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 
 /**
@@ -7,7 +7,7 @@ package org.apache.spark.graph
  */
 sealed abstract class EdgeDirection {
   /**
-   * Reverse the direction of an edge.  An in becomes out, 
+   * Reverse the direction of an edge.  An in becomes out,
    * out becomes in and both remains both.
    */
   def reverse: EdgeDirection = this match {
diff --git a/graph/src/main/scala/org/apache/spark/graph/EdgeRDD.scala b/graphx/src/main/scala/org/apache/spark/graphx/EdgeRDD.scala
similarity index 96%
rename from graph/src/main/scala/org/apache/spark/graph/EdgeRDD.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/EdgeRDD.scala
index 78821bf5681587ef770c2366dfedb91bf9d79d83..e4ef460e6f88a73da77dd171acf9ce74a1fdf68b 100644
--- a/graph/src/main/scala/org/apache/spark/graph/EdgeRDD.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/EdgeRDD.scala
@@ -1,9 +1,9 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 import scala.reflect.{classTag, ClassTag}
 
 import org.apache.spark.{OneToOneDependency, Partition, Partitioner, TaskContext}
-import org.apache.spark.graph.impl.EdgePartition
+import org.apache.spark.graphx.impl.EdgePartition
 import org.apache.spark.rdd.RDD
 import org.apache.spark.storage.StorageLevel
 
diff --git a/graph/src/main/scala/org/apache/spark/graph/EdgeTriplet.scala b/graphx/src/main/scala/org/apache/spark/graphx/EdgeTriplet.scala
similarity index 95%
rename from graph/src/main/scala/org/apache/spark/graph/EdgeTriplet.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/EdgeTriplet.scala
index a5103ed3cbffcf8cb36de6d18eebff97886a9d49..b0565b7e0e07c4fc05d980a5e50773f14fdb9d8d 100644
--- a/graph/src/main/scala/org/apache/spark/graph/EdgeTriplet.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/EdgeTriplet.scala
@@ -1,6 +1,6 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
-import org.apache.spark.graph.impl.VertexPartition
+import org.apache.spark.graphx.impl.VertexPartition
 
 /**
  * An edge triplet represents two vertices and edge along with their
diff --git a/graph/src/main/scala/org/apache/spark/graph/Graph.scala b/graphx/src/main/scala/org/apache/spark/graphx/Graph.scala
similarity index 99%
rename from graph/src/main/scala/org/apache/spark/graph/Graph.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/Graph.scala
index 86282e607ebb7a8036d138df33a9b8a65732c61c..2b7c0a2583f210a16d6c2fb042b83d2ac99edf66 100644
--- a/graph/src/main/scala/org/apache/spark/graph/Graph.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/Graph.scala
@@ -1,8 +1,8 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 import scala.reflect.ClassTag
 
-import org.apache.spark.graph.impl._
+import org.apache.spark.graphx.impl._
 import org.apache.spark.rdd.RDD
 import org.apache.spark.storage.StorageLevel
 
diff --git a/graph/src/main/scala/org/apache/spark/graph/GraphKryoRegistrator.scala b/graphx/src/main/scala/org/apache/spark/graphx/GraphKryoRegistrator.scala
similarity index 92%
rename from graph/src/main/scala/org/apache/spark/graph/GraphKryoRegistrator.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/GraphKryoRegistrator.scala
index 296f3848f1c61e7efc7f82ecc3f729594927a0ef..f8aab951f06376bf84677beda8910b5969311905 100644
--- a/graph/src/main/scala/org/apache/spark/graph/GraphKryoRegistrator.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/GraphKryoRegistrator.scala
@@ -1,8 +1,8 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 import com.esotericsoftware.kryo.Kryo
 
-import org.apache.spark.graph.impl._
+import org.apache.spark.graphx.impl._
 import org.apache.spark.serializer.KryoRegistrator
 import org.apache.spark.util.collection.BitSet
 import org.apache.spark.util.BoundedPriorityQueue
diff --git a/graph/src/main/scala/org/apache/spark/graph/GraphLab.scala b/graphx/src/main/scala/org/apache/spark/graphx/GraphLab.scala
similarity index 99%
rename from graph/src/main/scala/org/apache/spark/graph/GraphLab.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/GraphLab.scala
index 22f48540193eaf24b2dc10da71656d8d68c9c505..437288405f3076b6f538ff0379a45363cfcdc482 100644
--- a/graph/src/main/scala/org/apache/spark/graph/GraphLab.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/GraphLab.scala
@@ -1,4 +1,4 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 import scala.reflect.ClassTag
 
diff --git a/graph/src/main/scala/org/apache/spark/graph/GraphLoader.scala b/graphx/src/main/scala/org/apache/spark/graphx/GraphLoader.scala
similarity index 95%
rename from graph/src/main/scala/org/apache/spark/graph/GraphLoader.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/GraphLoader.scala
index 7daac4fcc56c39cc7ab2493625783a1e7b437934..473cfb18cf4816324e906b72d094e49b4123654a 100644
--- a/graph/src/main/scala/org/apache/spark/graph/GraphLoader.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/GraphLoader.scala
@@ -1,11 +1,11 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 import java.util.{Arrays => JArrays}
 import scala.reflect.ClassTag
 
-import org.apache.spark.graph.impl.EdgePartitionBuilder
+import org.apache.spark.graphx.impl.EdgePartitionBuilder
 import org.apache.spark.{Logging, SparkContext}
-import org.apache.spark.graph.impl.{EdgePartition, GraphImpl}
+import org.apache.spark.graphx.impl.{EdgePartition, GraphImpl}
 import org.apache.spark.util.collection.PrimitiveVector
 
 
diff --git a/graph/src/main/scala/org/apache/spark/graph/GraphOps.scala b/graphx/src/main/scala/org/apache/spark/graphx/GraphOps.scala
similarity index 99%
rename from graph/src/main/scala/org/apache/spark/graph/GraphOps.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/GraphOps.scala
index e41287c1ed4f10de79ef484264fbfa0fb3c4c8fb..cacfcb1c90f49a85238a96aa8d8912328729e473 100644
--- a/graph/src/main/scala/org/apache/spark/graph/GraphOps.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/GraphOps.scala
@@ -1,4 +1,4 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 import scala.reflect.ClassTag
 
diff --git a/graph/src/main/scala/org/apache/spark/graph/PartitionStrategy.scala b/graphx/src/main/scala/org/apache/spark/graphx/PartitionStrategy.scala
similarity index 99%
rename from graph/src/main/scala/org/apache/spark/graph/PartitionStrategy.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/PartitionStrategy.scala
index bc05fb812c0082e19fb088ce87c4c6d3222d1776..5e80a535f1c811a5fff738b53fb89b6fe010fe2d 100644
--- a/graph/src/main/scala/org/apache/spark/graph/PartitionStrategy.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/PartitionStrategy.scala
@@ -1,4 +1,4 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 
 sealed trait PartitionStrategy extends Serializable {
diff --git a/graph/src/main/scala/org/apache/spark/graph/Pregel.scala b/graphx/src/main/scala/org/apache/spark/graphx/Pregel.scala
similarity index 99%
rename from graph/src/main/scala/org/apache/spark/graph/Pregel.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/Pregel.scala
index 3b84e2e5e4195a67d0f5e6e00b652b491b5791c2..8ddb78813557f5a2b7b01ec1b248dc70f51b865c 100644
--- a/graph/src/main/scala/org/apache/spark/graph/Pregel.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/Pregel.scala
@@ -1,4 +1,4 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 import scala.reflect.ClassTag
 
diff --git a/graph/src/main/scala/org/apache/spark/graph/VertexRDD.scala b/graphx/src/main/scala/org/apache/spark/graphx/VertexRDD.scala
similarity index 98%
rename from graph/src/main/scala/org/apache/spark/graph/VertexRDD.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/VertexRDD.scala
index 25b0aed85aae95083d31aaac0d5b2ebc4803203e..cfee9b089f9e4a33be4c625ac0019d0679586704 100644
--- a/graph/src/main/scala/org/apache/spark/graph/VertexRDD.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/VertexRDD.scala
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 import scala.reflect.ClassTag
 
@@ -24,8 +24,8 @@ import org.apache.spark.SparkContext._
 import org.apache.spark.rdd._
 import org.apache.spark.storage.StorageLevel
 
-import org.apache.spark.graph.impl.MsgRDDFunctions
-import org.apache.spark.graph.impl.VertexPartition
+import org.apache.spark.graphx.impl.MsgRDDFunctions
+import org.apache.spark.graphx.impl.VertexPartition
 
 
 /**
diff --git a/graph/src/main/scala/org/apache/spark/graph/algorithms/ConnectedComponents.scala b/graphx/src/main/scala/org/apache/spark/graphx/algorithms/ConnectedComponents.scala
similarity index 94%
rename from graph/src/main/scala/org/apache/spark/graph/algorithms/ConnectedComponents.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/algorithms/ConnectedComponents.scala
index 2a6b8c0999ab08ca59ee67d75d8865d54d7bafa0..a0dd36da60f326f565b585bc8ede77e338b0f0c8 100644
--- a/graph/src/main/scala/org/apache/spark/graph/algorithms/ConnectedComponents.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/algorithms/ConnectedComponents.scala
@@ -1,6 +1,6 @@
-package org.apache.spark.graph.algorithms
+package org.apache.spark.graphx.algorithms
 
-import org.apache.spark.graph._
+import org.apache.spark.graphx._
 
 
 object ConnectedComponents {
diff --git a/graph/src/main/scala/org/apache/spark/graph/algorithms/PageRank.scala b/graphx/src/main/scala/org/apache/spark/graphx/algorithms/PageRank.scala
similarity index 99%
rename from graph/src/main/scala/org/apache/spark/graph/algorithms/PageRank.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/algorithms/PageRank.scala
index 26b8dc5ab60c6238fccdc27bee18ecadd67ce972..0292b7316d392fd524d668f55d834343a25c0824 100644
--- a/graph/src/main/scala/org/apache/spark/graph/algorithms/PageRank.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/algorithms/PageRank.scala
@@ -1,7 +1,7 @@
-package org.apache.spark.graph.algorithms
+package org.apache.spark.graphx.algorithms
 
 import org.apache.spark.Logging
-import org.apache.spark.graph._
+import org.apache.spark.graphx._
 
 
 object PageRank extends Logging {
diff --git a/graph/src/main/scala/org/apache/spark/graph/algorithms/SVDPlusPlus.scala b/graphx/src/main/scala/org/apache/spark/graphx/algorithms/SVDPlusPlus.scala
similarity index 98%
rename from graph/src/main/scala/org/apache/spark/graph/algorithms/SVDPlusPlus.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/algorithms/SVDPlusPlus.scala
index 083aa305388e864b63523a7571119e5ab18bdc58..8fdfa3d9077a41a4096365d567deb8afc80e6f41 100644
--- a/graph/src/main/scala/org/apache/spark/graph/algorithms/SVDPlusPlus.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/algorithms/SVDPlusPlus.scala
@@ -1,7 +1,7 @@
-package org.apache.spark.graph.algorithms
+package org.apache.spark.graphx.algorithms
 
 import org.apache.spark.rdd._
-import org.apache.spark.graph._
+import org.apache.spark.graphx._
 import scala.util.Random
 import org.apache.commons.math.linear._
 
diff --git a/graph/src/main/scala/org/apache/spark/graph/algorithms/StronglyConnectedComponents.scala b/graphx/src/main/scala/org/apache/spark/graphx/algorithms/StronglyConnectedComponents.scala
similarity index 97%
rename from graph/src/main/scala/org/apache/spark/graph/algorithms/StronglyConnectedComponents.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/algorithms/StronglyConnectedComponents.scala
index 8031aa10ce3ea610daabad20635beb403b70c0a6..f64fc3ef0f52a8cdebad7086efda7fe84c9d19ed 100644
--- a/graph/src/main/scala/org/apache/spark/graph/algorithms/StronglyConnectedComponents.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/algorithms/StronglyConnectedComponents.scala
@@ -1,6 +1,6 @@
-package org.apache.spark.graph.algorithms
+package org.apache.spark.graphx.algorithms
 
-import org.apache.spark.graph._
+import org.apache.spark.graphx._
 
 object StronglyConnectedComponents {
 
diff --git a/graph/src/main/scala/org/apache/spark/graph/algorithms/TriangleCount.scala b/graphx/src/main/scala/org/apache/spark/graphx/algorithms/TriangleCount.scala
similarity index 97%
rename from graph/src/main/scala/org/apache/spark/graph/algorithms/TriangleCount.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/algorithms/TriangleCount.scala
index 81774d52e429177d6934fce7f54f4efbd34ba407..b5a93c1bd19bb7f119551ec231d8a56c4603c4b6 100644
--- a/graph/src/main/scala/org/apache/spark/graph/algorithms/TriangleCount.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/algorithms/TriangleCount.scala
@@ -1,8 +1,8 @@
-package org.apache.spark.graph.algorithms
+package org.apache.spark.graphx.algorithms
 
 import scala.reflect.ClassTag
 
-import org.apache.spark.graph._
+import org.apache.spark.graphx._
 
 
 object TriangleCount {
diff --git a/graph/src/main/scala/org/apache/spark/graph/impl/EdgePartition.scala b/graphx/src/main/scala/org/apache/spark/graphx/impl/EdgePartition.scala
similarity index 99%
rename from graph/src/main/scala/org/apache/spark/graph/impl/EdgePartition.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/impl/EdgePartition.scala
index b4311fa9f894eb17c4a77e32ae5c22026db60d9e..4176563d22555722e7d058df9e3d5af4a493e73b 100644
--- a/graph/src/main/scala/org/apache/spark/graph/impl/EdgePartition.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/impl/EdgePartition.scala
@@ -1,8 +1,8 @@
-package org.apache.spark.graph.impl
+package org.apache.spark.graphx.impl
 
 import scala.reflect.ClassTag
 
-import org.apache.spark.graph._
+import org.apache.spark.graphx._
 import org.apache.spark.util.collection.PrimitiveKeyOpenHashMap
 
 /**
diff --git a/graph/src/main/scala/org/apache/spark/graph/impl/EdgePartitionBuilder.scala b/graphx/src/main/scala/org/apache/spark/graphx/impl/EdgePartitionBuilder.scala
similarity index 95%
rename from graph/src/main/scala/org/apache/spark/graph/impl/EdgePartitionBuilder.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/impl/EdgePartitionBuilder.scala
index 56624ef60adc0bc3ad64550e4e588a0e10fb8e9a..d4f08497a280ab3e613144552c7695d3ff61bf5b 100644
--- a/graph/src/main/scala/org/apache/spark/graph/impl/EdgePartitionBuilder.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/impl/EdgePartitionBuilder.scala
@@ -1,9 +1,9 @@
-package org.apache.spark.graph.impl
+package org.apache.spark.graphx.impl
 
 import scala.reflect.ClassTag
 import scala.util.Sorting
 
-import org.apache.spark.graph._
+import org.apache.spark.graphx._
 import org.apache.spark.util.collection.{PrimitiveKeyOpenHashMap, PrimitiveVector}
 
 
diff --git a/graph/src/main/scala/org/apache/spark/graph/impl/EdgeTripletIterator.scala b/graphx/src/main/scala/org/apache/spark/graphx/impl/EdgeTripletIterator.scala
similarity index 94%
rename from graph/src/main/scala/org/apache/spark/graph/impl/EdgeTripletIterator.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/impl/EdgeTripletIterator.scala
index e95d79e3d63d63b4d8f3b769d8621ed527511fa9..79fd962ffdc1582391671a0d9267b5ffd21a6ba4 100644
--- a/graph/src/main/scala/org/apache/spark/graph/impl/EdgeTripletIterator.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/impl/EdgeTripletIterator.scala
@@ -1,8 +1,8 @@
-package org.apache.spark.graph.impl
+package org.apache.spark.graphx.impl
 
 import scala.reflect.ClassTag
 
-import org.apache.spark.graph._
+import org.apache.spark.graphx._
 import org.apache.spark.util.collection.PrimitiveKeyOpenHashMap
 
 
diff --git a/graph/src/main/scala/org/apache/spark/graph/impl/GraphImpl.scala b/graphx/src/main/scala/org/apache/spark/graphx/impl/GraphImpl.scala
similarity index 98%
rename from graph/src/main/scala/org/apache/spark/graph/impl/GraphImpl.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/impl/GraphImpl.scala
index 8f42e7d5929dd27a67b4e1083a16e998b43a972f..be9f1881500f501a4a2b6ce9912fe52ca32233de 100644
--- a/graph/src/main/scala/org/apache/spark/graph/impl/GraphImpl.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/impl/GraphImpl.scala
@@ -1,14 +1,14 @@
-package org.apache.spark.graph.impl
+package org.apache.spark.graphx.impl
 
 import scala.reflect.{classTag, ClassTag}
 
 import org.apache.spark.util.collection.PrimitiveVector
 import org.apache.spark.{HashPartitioner, Partitioner}
 import org.apache.spark.SparkContext._
-import org.apache.spark.graph._
-import org.apache.spark.graph.impl.GraphImpl._
-import org.apache.spark.graph.impl.MsgRDDFunctions._
-import org.apache.spark.graph.util.BytecodeUtils
+import org.apache.spark.graphx._
+import org.apache.spark.graphx.impl.GraphImpl._
+import org.apache.spark.graphx.impl.MsgRDDFunctions._
+import org.apache.spark.graphx.util.BytecodeUtils
 import org.apache.spark.rdd.{ShuffledRDD, RDD}
 import org.apache.spark.storage.StorageLevel
 import org.apache.spark.util.ClosureCleaner
diff --git a/graph/src/main/scala/org/apache/spark/graph/impl/MessageToPartition.scala b/graphx/src/main/scala/org/apache/spark/graphx/impl/MessageToPartition.scala
similarity index 96%
rename from graph/src/main/scala/org/apache/spark/graph/impl/MessageToPartition.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/impl/MessageToPartition.scala
index b2fa7284827a45584fd7ed6707c3a3ade6989be9..ad5daf8f6ae320db03e91ef3060ebb13a6729e0e 100644
--- a/graph/src/main/scala/org/apache/spark/graph/impl/MessageToPartition.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/impl/MessageToPartition.scala
@@ -1,9 +1,9 @@
-package org.apache.spark.graph.impl
+package org.apache.spark.graphx.impl
 
 import scala.reflect.{classTag, ClassTag}
 
 import org.apache.spark.Partitioner
-import org.apache.spark.graph.{PartitionID, VertexID}
+import org.apache.spark.graphx.{PartitionID, VertexID}
 import org.apache.spark.rdd.{ShuffledRDD, RDD}
 
 
diff --git a/graph/src/main/scala/org/apache/spark/graph/impl/ReplicatedVertexView.scala b/graphx/src/main/scala/org/apache/spark/graphx/impl/ReplicatedVertexView.scala
similarity index 99%
rename from graph/src/main/scala/org/apache/spark/graph/impl/ReplicatedVertexView.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/impl/ReplicatedVertexView.scala
index 7d29861db1e3a1cfe94aab66100d606577f6afb4..63180bc3af473c071cc153aff05d514ddda65e4f 100644
--- a/graph/src/main/scala/org/apache/spark/graph/impl/ReplicatedVertexView.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/impl/ReplicatedVertexView.scala
@@ -1,4 +1,4 @@
-package org.apache.spark.graph.impl
+package org.apache.spark.graphx.impl
 
 import scala.reflect.{classTag, ClassTag}
 
@@ -6,7 +6,7 @@ import org.apache.spark.SparkContext._
 import org.apache.spark.rdd.RDD
 import org.apache.spark.util.collection.{PrimitiveVector, OpenHashSet}
 
-import org.apache.spark.graph._
+import org.apache.spark.graphx._
 
 /**
  * A view of the vertices after they are shipped to the join sites specified in
diff --git a/graph/src/main/scala/org/apache/spark/graph/impl/RoutingTable.scala b/graphx/src/main/scala/org/apache/spark/graphx/impl/RoutingTable.scala
similarity index 97%
rename from graph/src/main/scala/org/apache/spark/graph/impl/RoutingTable.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/impl/RoutingTable.scala
index 96d9e9d7f8c8e9f182301a50cbaea77ca9f37c7b..3bd8b24133244db108bd42e829c8d55d0cae3194 100644
--- a/graph/src/main/scala/org/apache/spark/graph/impl/RoutingTable.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/impl/RoutingTable.scala
@@ -1,7 +1,7 @@
-package org.apache.spark.graph.impl
+package org.apache.spark.graphx.impl
 
 import org.apache.spark.SparkContext._
-import org.apache.spark.graph._
+import org.apache.spark.graphx._
 import org.apache.spark.rdd.RDD
 import org.apache.spark.storage.StorageLevel
 import org.apache.spark.util.collection.PrimitiveVector
diff --git a/graph/src/main/scala/org/apache/spark/graph/impl/Serializers.scala b/graphx/src/main/scala/org/apache/spark/graphx/impl/Serializers.scala
similarity index 99%
rename from graph/src/main/scala/org/apache/spark/graph/impl/Serializers.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/impl/Serializers.scala
index a3b0ea7689fc71fcf29bde3b318183cf7b98d42e..1c3c87f08dcb954d3dd6b28c4db2e8acf159723d 100644
--- a/graph/src/main/scala/org/apache/spark/graph/impl/Serializers.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/impl/Serializers.scala
@@ -1,10 +1,10 @@
-package org.apache.spark.graph.impl
+package org.apache.spark.graphx.impl
 
 import java.io.{EOFException, InputStream, OutputStream}
 import java.nio.ByteBuffer
 
 import org.apache.spark.SparkConf
-import org.apache.spark.graph._
+import org.apache.spark.graphx._
 import org.apache.spark.serializer._
 
 class VertexIDMsgSerializer(conf: SparkConf) extends Serializer {
diff --git a/graph/src/main/scala/org/apache/spark/graph/impl/VertexPartition.scala b/graphx/src/main/scala/org/apache/spark/graphx/impl/VertexPartition.scala
similarity index 98%
rename from graph/src/main/scala/org/apache/spark/graph/impl/VertexPartition.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/impl/VertexPartition.scala
index 91244daa54a57bbe9b7bfba421e0d8e19e67e3a2..7c83497ca9564c766b5828028f687ad730fdff27 100644
--- a/graph/src/main/scala/org/apache/spark/graph/impl/VertexPartition.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/impl/VertexPartition.scala
@@ -1,14 +1,14 @@
-package org.apache.spark.graph.impl
+package org.apache.spark.graphx.impl
 
 import scala.reflect.ClassTag
 
 import org.apache.spark.util.collection.{BitSet, PrimitiveKeyOpenHashMap}
 
 import org.apache.spark.Logging
-import org.apache.spark.graph._
+import org.apache.spark.graphx._
 
 
-private[graph] object VertexPartition {
+private[graphx] object VertexPartition {
 
   def apply[VD: ClassTag](iter: Iterator[(VertexID, VD)]): VertexPartition[VD] = {
     val map = new PrimitiveKeyOpenHashMap[VertexID, VD]
@@ -30,7 +30,7 @@ private[graph] object VertexPartition {
 }
 
 
-private[graph]
+private[graphx]
 class VertexPartition[@specialized(Long, Int, Double) VD: ClassTag](
     val index: VertexIdToIndexMap,
     val values: Array[VD],
diff --git a/graph/src/main/scala/org/apache/spark/graph/package.scala b/graphx/src/main/scala/org/apache/spark/graphx/package.scala
similarity index 94%
rename from graph/src/main/scala/org/apache/spark/graph/package.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/package.scala
index b98a11b918a21fcc3a95dc8c7ba0669a61fcee18..96f0d91c9bcf916f9d4c723d9abf62d0bd6b1a85 100644
--- a/graph/src/main/scala/org/apache/spark/graph/package.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/package.scala
@@ -3,7 +3,7 @@ package org.apache.spark
 import org.apache.spark.util.collection.OpenHashSet
 
 
-package object graph {
+package object graphx {
 
   type VertexID = Long
 
diff --git a/graph/src/main/scala/org/apache/spark/graph/perf/BagelTest.scala b/graphx/src/main/scala/org/apache/spark/graphx/perf/BagelTest.scala
similarity index 97%
rename from graph/src/main/scala/org/apache/spark/graph/perf/BagelTest.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/perf/BagelTest.scala
index eaff27a33eda50004452ee76333a9b3d464e65d7..81332e0800b941788be9d97823fd8b585a76c1df 100644
--- a/graph/src/main/scala/org/apache/spark/graph/perf/BagelTest.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/perf/BagelTest.scala
@@ -1,6 +1,6 @@
 ///// This file creates circular dependencies between examples bagle and graph
 
-// package org.apache.spark.graph.perf
+// package org.apache.spark.graphx.perf
 
 // import org.apache.spark._
 // import org.apache.spark.SparkContext._
@@ -8,7 +8,7 @@
 
 // import org.apache.spark.examples.bagel
 // //import org.apache.spark.bagel.examples._
-// import org.apache.spark.graph._
+// import org.apache.spark.graphx._
 
 
 // object BagelTest {
diff --git a/graph/src/main/scala/org/apache/spark/graph/perf/SparkTest.scala b/graphx/src/main/scala/org/apache/spark/graphx/perf/SparkTest.scala
similarity index 97%
rename from graph/src/main/scala/org/apache/spark/graph/perf/SparkTest.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/perf/SparkTest.scala
index 01bd96855082c2f153ef54360e6b91a59a97999a..24262640ab0da7f7fae878222f0d8fbd0011c57d 100644
--- a/graph/src/main/scala/org/apache/spark/graph/perf/SparkTest.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/perf/SparkTest.scala
@@ -1,13 +1,13 @@
 ///// This file creates circular dependencies between examples bagle and graph
 
 
-// package org.apache.spark.graph.perf
+// package org.apache.spark.graphx.perf
 
 // import org.apache.spark._
 // import org.apache.spark.SparkContext._
 // import org.apache.spark.bagel.Bagel
 // import org.apache.spark.bagel.examples._
-// import org.apache.spark.graph._
+// import org.apache.spark.graphx._
 
 
 // object SparkTest {
diff --git a/graph/src/main/scala/org/apache/spark/graph/util/BytecodeUtils.scala b/graphx/src/main/scala/org/apache/spark/graphx/util/BytecodeUtils.scala
similarity index 99%
rename from graph/src/main/scala/org/apache/spark/graph/util/BytecodeUtils.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/util/BytecodeUtils.scala
index bc00ce215153df113ce9301e60ef44edab5b2491..ec8d534333de5e73c94a78f3a7ecbdc3368848ab 100644
--- a/graph/src/main/scala/org/apache/spark/graph/util/BytecodeUtils.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/util/BytecodeUtils.scala
@@ -1,4 +1,4 @@
-package org.apache.spark.graph.util
+package org.apache.spark.graphx.util
 
 import java.io.{ByteArrayInputStream, ByteArrayOutputStream}
 
diff --git a/graph/src/main/scala/org/apache/spark/graph/util/GraphGenerators.scala b/graphx/src/main/scala/org/apache/spark/graphx/util/GraphGenerators.scala
similarity index 96%
rename from graph/src/main/scala/org/apache/spark/graph/util/GraphGenerators.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/util/GraphGenerators.scala
index 51f45cb8922b35557e2fff101df9825ba990eb17..57117241ad818e50aa2c2ca26d574ffb7bb15358 100644
--- a/graph/src/main/scala/org/apache/spark/graph/util/GraphGenerators.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/util/GraphGenerators.scala
@@ -1,4 +1,4 @@
-package org.apache.spark.graph.util
+package org.apache.spark.graphx.util
 
 import scala.annotation.tailrec
 import scala.math._
@@ -10,10 +10,10 @@ import org.apache.spark.serializer._
 import org.apache.spark.rdd.RDD
 import org.apache.spark.SparkContext
 import org.apache.spark.SparkContext._
-import org.apache.spark.graph._
-import org.apache.spark.graph.Graph
-import org.apache.spark.graph.Edge
-import org.apache.spark.graph.impl.GraphImpl
+import org.apache.spark.graphx._
+import org.apache.spark.graphx.Graph
+import org.apache.spark.graphx.Edge
+import org.apache.spark.graphx.impl.GraphImpl
 
 /**
  * @todo cleanup and modularize code
@@ -31,7 +31,7 @@ object GraphGenerators {
     val serializer = "org.apache.spark.serializer.KryoSerializer"
     System.setProperty("spark.serializer", serializer)
     //System.setProperty("spark.shuffle.compress", "false")
-    System.setProperty("spark.kryo.registrator", "spark.graph.GraphKryoRegistrator")
+    System.setProperty("spark.kryo.registrator", "spark.graphx.GraphKryoRegistrator")
     val host = "local[4]"
     val sc = new SparkContext(host, "Lognormal graph generator")
 
diff --git a/graph/src/main/scala/org/apache/spark/graph/util/HashUtils.scala b/graphx/src/main/scala/org/apache/spark/graphx/util/HashUtils.scala
similarity index 91%
rename from graph/src/main/scala/org/apache/spark/graph/util/HashUtils.scala
rename to graphx/src/main/scala/org/apache/spark/graphx/util/HashUtils.scala
index cb18ef3d26bae022762c71f432066d7e7dfc3397..7a79d33350b1c774c6cfd61f518d5892135a9565 100644
--- a/graph/src/main/scala/org/apache/spark/graph/util/HashUtils.scala
+++ b/graphx/src/main/scala/org/apache/spark/graphx/util/HashUtils.scala
@@ -1,4 +1,4 @@
-package org.apache.spark.graph.util
+package org.apache.spark.graphx.util
 
 
 object HashUtils {
diff --git a/graph/src/test/resources/log4j.properties b/graphx/src/test/resources/log4j.properties
similarity index 100%
rename from graph/src/test/resources/log4j.properties
rename to graphx/src/test/resources/log4j.properties
diff --git a/graph/src/test/scala/org/apache/spark/graph/GraphOpsSuite.scala b/graphx/src/test/scala/org/apache/spark/graphx/GraphOpsSuite.scala
similarity index 96%
rename from graph/src/test/scala/org/apache/spark/graph/GraphOpsSuite.scala
rename to graphx/src/test/scala/org/apache/spark/graphx/GraphOpsSuite.scala
index 132e6be24a04a0adb2c272a2b9447896b32897c7..cc281fce997bfa665869a073753a634235b18e99 100644
--- a/graph/src/test/scala/org/apache/spark/graph/GraphOpsSuite.scala
+++ b/graphx/src/test/scala/org/apache/spark/graphx/GraphOpsSuite.scala
@@ -1,8 +1,8 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 import org.apache.spark.SparkContext
-import org.apache.spark.graph.Graph._
-import org.apache.spark.graph.impl.EdgePartition
+import org.apache.spark.graphx.Graph._
+import org.apache.spark.graphx.impl.EdgePartition
 import org.apache.spark.rdd._
 import org.scalatest.FunSuite
 
diff --git a/graph/src/test/scala/org/apache/spark/graph/GraphSuite.scala b/graphx/src/test/scala/org/apache/spark/graphx/GraphSuite.scala
similarity index 99%
rename from graph/src/test/scala/org/apache/spark/graph/GraphSuite.scala
rename to graphx/src/test/scala/org/apache/spark/graphx/GraphSuite.scala
index 41f3a8311d5a8bf1c9b3aa3ae56e865a888e2beb..094fa722a0030d09bc844791ecdaf72c835e3066 100644
--- a/graph/src/test/scala/org/apache/spark/graph/GraphSuite.scala
+++ b/graphx/src/test/scala/org/apache/spark/graphx/GraphSuite.scala
@@ -1,9 +1,9 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 import org.scalatest.FunSuite
 
 import org.apache.spark.SparkContext
-import org.apache.spark.graph.Graph._
+import org.apache.spark.graphx.Graph._
 import org.apache.spark.rdd._
 
 class GraphSuite extends FunSuite with LocalSparkContext {
diff --git a/graph/src/test/scala/org/apache/spark/graph/LocalSparkContext.scala b/graphx/src/test/scala/org/apache/spark/graphx/LocalSparkContext.scala
similarity index 92%
rename from graph/src/test/scala/org/apache/spark/graph/LocalSparkContext.scala
rename to graphx/src/test/scala/org/apache/spark/graphx/LocalSparkContext.scala
index 5c20d559aa9734e7c8fbd949205e9bc05f1022d4..6aec2ea8a994f21e3ee96ba0e8eeb4cbdc789852 100644
--- a/graph/src/test/scala/org/apache/spark/graph/LocalSparkContext.scala
+++ b/graphx/src/test/scala/org/apache/spark/graphx/LocalSparkContext.scala
@@ -1,4 +1,4 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 import org.scalatest.Suite
 import org.scalatest.BeforeAndAfterEach
@@ -12,7 +12,7 @@ import org.apache.spark.SparkContext
 */
 trait LocalSparkContext {
   System.setProperty("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
-  System.setProperty("spark.kryo.registrator", "org.apache.spark.graph.GraphKryoRegistrator")
+  System.setProperty("spark.kryo.registrator", "org.apache.spark.graphx.GraphKryoRegistrator")
 
   /** Runs `f` on a new SparkContext and ensures that it is stopped afterwards. */
   def withSpark[T](f: SparkContext => T) = {
diff --git a/graph/src/test/scala/org/apache/spark/graph/PregelSuite.scala b/graphx/src/test/scala/org/apache/spark/graphx/PregelSuite.scala
similarity index 97%
rename from graph/src/test/scala/org/apache/spark/graph/PregelSuite.scala
rename to graphx/src/test/scala/org/apache/spark/graphx/PregelSuite.scala
index de7e3872cad6f9aed5b6f617d523526039f557a2..429622357f0bd3d4aa29b9a86f26fa19f60755db 100644
--- a/graph/src/test/scala/org/apache/spark/graph/PregelSuite.scala
+++ b/graphx/src/test/scala/org/apache/spark/graphx/PregelSuite.scala
@@ -1,4 +1,4 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 import org.scalatest.FunSuite
 
diff --git a/graph/src/test/scala/org/apache/spark/graph/SerializerSuite.scala b/graphx/src/test/scala/org/apache/spark/graphx/SerializerSuite.scala
similarity index 98%
rename from graph/src/test/scala/org/apache/spark/graph/SerializerSuite.scala
rename to graphx/src/test/scala/org/apache/spark/graphx/SerializerSuite.scala
index 2864ffd1ca31edaabcbc55a2a6b7aff196d8a723..3ba412c1f84f45cead9ead6d7b7631ea4f87a2b8 100644
--- a/graph/src/test/scala/org/apache/spark/graph/SerializerSuite.scala
+++ b/graphx/src/test/scala/org/apache/spark/graphx/SerializerSuite.scala
@@ -1,4 +1,4 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 import java.io.{EOFException, ByteArrayInputStream, ByteArrayOutputStream}
 
@@ -7,8 +7,8 @@ import scala.util.Random
 import org.scalatest.FunSuite
 
 import org.apache.spark._
-import org.apache.spark.graph.impl._
-import org.apache.spark.graph.impl.MsgRDDFunctions._
+import org.apache.spark.graphx.impl._
+import org.apache.spark.graphx.impl.MsgRDDFunctions._
 import org.apache.spark.serializer.SerializationStream
 
 
diff --git a/graph/src/test/scala/org/apache/spark/graph/VertexRDDSuite.scala b/graphx/src/test/scala/org/apache/spark/graphx/VertexRDDSuite.scala
similarity index 95%
rename from graph/src/test/scala/org/apache/spark/graph/VertexRDDSuite.scala
rename to graphx/src/test/scala/org/apache/spark/graphx/VertexRDDSuite.scala
index e876b8e4e8bfe5afa5b8e82d9748095fb60239b7..573b708e89dd99d4282817390ea7081a1eff598e 100644
--- a/graph/src/test/scala/org/apache/spark/graph/VertexRDDSuite.scala
+++ b/graphx/src/test/scala/org/apache/spark/graphx/VertexRDDSuite.scala
@@ -1,8 +1,8 @@
-package org.apache.spark.graph
+package org.apache.spark.graphx
 
 import org.apache.spark.SparkContext
-import org.apache.spark.graph.Graph._
-import org.apache.spark.graph.impl.EdgePartition
+import org.apache.spark.graphx.Graph._
+import org.apache.spark.graphx.impl.EdgePartition
 import org.apache.spark.rdd._
 import org.scalatest.FunSuite
 
diff --git a/graph/src/test/scala/org/apache/spark/graph/algorithms/ConnectedComponentsSuite.scala b/graphx/src/test/scala/org/apache/spark/graphx/algorithms/ConnectedComponentsSuite.scala
similarity index 95%
rename from graph/src/test/scala/org/apache/spark/graph/algorithms/ConnectedComponentsSuite.scala
rename to graphx/src/test/scala/org/apache/spark/graphx/algorithms/ConnectedComponentsSuite.scala
index 81a1b7337f2a4b6b068aa7d6cbab906f2bf6d959..5e2ecfcde9b0c676bb88115b8446ee5349d461cd 100644
--- a/graph/src/test/scala/org/apache/spark/graph/algorithms/ConnectedComponentsSuite.scala
+++ b/graphx/src/test/scala/org/apache/spark/graphx/algorithms/ConnectedComponentsSuite.scala
@@ -1,11 +1,11 @@
-package org.apache.spark.graph.algorithms
+package org.apache.spark.graphx.algorithms
 
 import org.scalatest.FunSuite
 
 import org.apache.spark.SparkContext
 import org.apache.spark.SparkContext._
-import org.apache.spark.graph._
-import org.apache.spark.graph.util.GraphGenerators
+import org.apache.spark.graphx._
+import org.apache.spark.graphx.util.GraphGenerators
 import org.apache.spark.rdd._
 
 
diff --git a/graph/src/test/scala/org/apache/spark/graph/algorithms/PageRankSuite.scala b/graphx/src/test/scala/org/apache/spark/graphx/algorithms/PageRankSuite.scala
similarity index 97%
rename from graph/src/test/scala/org/apache/spark/graph/algorithms/PageRankSuite.scala
rename to graphx/src/test/scala/org/apache/spark/graphx/algorithms/PageRankSuite.scala
index 81d82a5a6b71994910fe765d1b68dae7418752cc..e365b1e2305b4300a23008b10196abe87d0f40e8 100644
--- a/graph/src/test/scala/org/apache/spark/graph/algorithms/PageRankSuite.scala
+++ b/graphx/src/test/scala/org/apache/spark/graphx/algorithms/PageRankSuite.scala
@@ -1,13 +1,13 @@
-package org.apache.spark.graph.algorithms
+package org.apache.spark.graphx.algorithms
 
 import org.scalatest.FunSuite
 
-import org.apache.spark.graph._
+import org.apache.spark.graphx._
 import org.apache.spark.SparkContext
 import org.apache.spark.SparkContext._
 import org.apache.spark.rdd._
 
-import org.apache.spark.graph.util.GraphGenerators
+import org.apache.spark.graphx.util.GraphGenerators
 
 
 object GridPageRank {
diff --git a/graph/src/test/scala/org/apache/spark/graph/algorithms/SVDPlusPlusSuite.scala b/graphx/src/test/scala/org/apache/spark/graphx/algorithms/SVDPlusPlusSuite.scala
similarity index 87%
rename from graph/src/test/scala/org/apache/spark/graph/algorithms/SVDPlusPlusSuite.scala
rename to graphx/src/test/scala/org/apache/spark/graphx/algorithms/SVDPlusPlusSuite.scala
index a0a6eb33e36fc942a263bfbe976197fae54228ba..06604198d73a0a3735b55e2e79e73a5f1532451b 100644
--- a/graph/src/test/scala/org/apache/spark/graph/algorithms/SVDPlusPlusSuite.scala
+++ b/graphx/src/test/scala/org/apache/spark/graphx/algorithms/SVDPlusPlusSuite.scala
@@ -1,11 +1,11 @@
-package org.apache.spark.graph.algorithms
+package org.apache.spark.graphx.algorithms
 
 import org.scalatest.FunSuite
 
 import org.apache.spark.SparkContext
 import org.apache.spark.SparkContext._
-import org.apache.spark.graph._
-import org.apache.spark.graph.util.GraphGenerators
+import org.apache.spark.graphx._
+import org.apache.spark.graphx.util.GraphGenerators
 import org.apache.spark.rdd._
 
 
diff --git a/graph/src/test/scala/org/apache/spark/graph/algorithms/StronglyConnectedComponentsSuite.scala b/graphx/src/test/scala/org/apache/spark/graphx/algorithms/StronglyConnectedComponentsSuite.scala
similarity index 92%
rename from graph/src/test/scala/org/apache/spark/graph/algorithms/StronglyConnectedComponentsSuite.scala
rename to graphx/src/test/scala/org/apache/spark/graphx/algorithms/StronglyConnectedComponentsSuite.scala
index 4afb158a68ed4c97e6371baa09641834fe1803f5..696b80944ed02570c4ff796634a15171923b55ff 100644
--- a/graph/src/test/scala/org/apache/spark/graph/algorithms/StronglyConnectedComponentsSuite.scala
+++ b/graphx/src/test/scala/org/apache/spark/graphx/algorithms/StronglyConnectedComponentsSuite.scala
@@ -1,11 +1,11 @@
-package org.apache.spark.graph.algorithms
+package org.apache.spark.graphx.algorithms
 
 import org.scalatest.FunSuite
 
 import org.apache.spark.SparkContext
 import org.apache.spark.SparkContext._
-import org.apache.spark.graph._
-import org.apache.spark.graph.util.GraphGenerators
+import org.apache.spark.graphx._
+import org.apache.spark.graphx.util.GraphGenerators
 import org.apache.spark.rdd._
 
 
diff --git a/graph/src/test/scala/org/apache/spark/graph/algorithms/TriangleCountSuite.scala b/graphx/src/test/scala/org/apache/spark/graphx/algorithms/TriangleCountSuite.scala
similarity index 94%
rename from graph/src/test/scala/org/apache/spark/graph/algorithms/TriangleCountSuite.scala
rename to graphx/src/test/scala/org/apache/spark/graphx/algorithms/TriangleCountSuite.scala
index 274ab11f0cbd1618e343a2963d34d6ad4dc0e308..0e59912754c05d116449e03e2a5f2c5b9659b2d8 100644
--- a/graph/src/test/scala/org/apache/spark/graph/algorithms/TriangleCountSuite.scala
+++ b/graphx/src/test/scala/org/apache/spark/graphx/algorithms/TriangleCountSuite.scala
@@ -1,11 +1,11 @@
-package org.apache.spark.graph.algorithms
+package org.apache.spark.graphx.algorithms
 
 import org.scalatest.FunSuite
 
 import org.apache.spark.SparkContext
 import org.apache.spark.SparkContext._
-import org.apache.spark.graph._
-import org.apache.spark.graph.util.GraphGenerators
+import org.apache.spark.graphx._
+import org.apache.spark.graphx.util.GraphGenerators
 import org.apache.spark.rdd._
 
 
diff --git a/graph/src/test/scala/org/apache/spark/graph/impl/EdgePartitionSuite.scala b/graphx/src/test/scala/org/apache/spark/graphx/impl/EdgePartitionSuite.scala
similarity index 97%
rename from graph/src/test/scala/org/apache/spark/graph/impl/EdgePartitionSuite.scala
rename to graphx/src/test/scala/org/apache/spark/graphx/impl/EdgePartitionSuite.scala
index fd0beee2f640848364911015818ba62574a41038..eb82436f0964cd022254b824540afd87c75deadc 100644
--- a/graph/src/test/scala/org/apache/spark/graph/impl/EdgePartitionSuite.scala
+++ b/graphx/src/test/scala/org/apache/spark/graphx/impl/EdgePartitionSuite.scala
@@ -1,11 +1,11 @@
-package org.apache.spark.graph.impl
+package org.apache.spark.graphx.impl
 
 import scala.reflect.ClassTag
 import scala.util.Random
 
 import org.scalatest.FunSuite
 
-import org.apache.spark.graph._
+import org.apache.spark.graphx._
 
 class EdgePartitionSuite extends FunSuite {
 
diff --git a/graph/src/test/scala/org/apache/spark/graph/impl/VertexPartitionSuite.scala b/graphx/src/test/scala/org/apache/spark/graphx/impl/VertexPartitionSuite.scala
similarity index 98%
rename from graph/src/test/scala/org/apache/spark/graph/impl/VertexPartitionSuite.scala
rename to graphx/src/test/scala/org/apache/spark/graphx/impl/VertexPartitionSuite.scala
index 72579a48c2885c86626b9f371fd8e0f4de1bd852..d37d64e8c849e4ae3b840538d753057b5ba2ce9b 100644
--- a/graph/src/test/scala/org/apache/spark/graph/impl/VertexPartitionSuite.scala
+++ b/graphx/src/test/scala/org/apache/spark/graphx/impl/VertexPartitionSuite.scala
@@ -1,6 +1,6 @@
-package org.apache.spark.graph.impl
+package org.apache.spark.graphx.impl
 
-import org.apache.spark.graph._
+import org.apache.spark.graphx._
 import org.scalatest.FunSuite
 
 class VertexPartitionSuite extends FunSuite {
diff --git a/graph/src/test/scala/org/apache/spark/graph/util/BytecodeUtilsSuite.scala b/graphx/src/test/scala/org/apache/spark/graphx/util/BytecodeUtilsSuite.scala
similarity index 98%
rename from graph/src/test/scala/org/apache/spark/graph/util/BytecodeUtilsSuite.scala
rename to graphx/src/test/scala/org/apache/spark/graphx/util/BytecodeUtilsSuite.scala
index d85e877ddfaf1a496ce51008ca4c972ab80636f2..11db339750920c422176a5c5cd5b524dc4215d81 100644
--- a/graph/src/test/scala/org/apache/spark/graph/util/BytecodeUtilsSuite.scala
+++ b/graphx/src/test/scala/org/apache/spark/graphx/util/BytecodeUtilsSuite.scala
@@ -1,4 +1,4 @@
-package org.apache.spark.graph.util
+package org.apache.spark.graphx.util
 
 import org.scalatest.FunSuite
 
diff --git a/project/SparkBuild.scala b/project/SparkBuild.scala
index c2cd6fb45abda84278ae9e9522c6fe35cf5e29c0..c2b1c0c35cc5b5eafc3999ed9115bf74fdc7ccf4 100644
--- a/project/SparkBuild.scala
+++ b/project/SparkBuild.scala
@@ -48,20 +48,20 @@ object SparkBuild extends Build {
   lazy val core = Project("core", file("core"), settings = coreSettings)
 
   lazy val repl = Project("repl", file("repl"), settings = replSettings)
-    .dependsOn(core, graph, bagel, mllib)
+    .dependsOn(core, graphx, bagel, mllib)
 
   lazy val tools = Project("tools", file("tools"), settings = toolsSettings) dependsOn(core) dependsOn(streaming)
 
   lazy val bagel = Project("bagel", file("bagel"), settings = bagelSettings) dependsOn(core)
 
-  lazy val graph = Project("graph", file("graph"), settings = graphSettings) dependsOn(core)
+  lazy val graphx = Project("graphx", file("graphx"), settings = graphxSettings) dependsOn(core)
 
   lazy val streaming = Project("streaming", file("streaming"), settings = streamingSettings) dependsOn(core)
 
   lazy val mllib = Project("mllib", file("mllib"), settings = mllibSettings) dependsOn(core)
 
   lazy val assemblyProj = Project("assembly", file("assembly"), settings = assemblyProjSettings)
-    .dependsOn(core, graph, bagel, mllib, repl, streaming) dependsOn(maybeYarn: _*)
+    .dependsOn(core, graphx, bagel, mllib, repl, streaming) dependsOn(maybeYarn: _*)
 
   lazy val assembleDeps = TaskKey[Unit]("assemble-deps", "Build assembly of dependencies and packages Spark projects")
 
@@ -111,10 +111,10 @@ object SparkBuild extends Build {
   lazy val allExternalRefs = Seq[ProjectReference](externalTwitter, externalKafka, externalFlume, externalZeromq, externalMqtt)
 
   lazy val examples = Project("examples", file("examples"), settings = examplesSettings)
-    .dependsOn(core, mllib, graph, bagel, streaming, externalTwitter) dependsOn(allExternal: _*)
+    .dependsOn(core, mllib, graphx, bagel, streaming, externalTwitter) dependsOn(allExternal: _*)
 
   // Everything except assembly, tools and examples belong to packageProjects
-  lazy val packageProjects = Seq[ProjectReference](core, repl, bagel, streaming, mllib, graph) ++ maybeYarnRef
+  lazy val packageProjects = Seq[ProjectReference](core, repl, bagel, streaming, mllib, graphx) ++ maybeYarnRef
 
   lazy val allProjects = packageProjects ++ allExternalRefs ++ Seq[ProjectReference](examples, tools, assemblyProj)
 
@@ -308,7 +308,7 @@ object SparkBuild extends Build {
     name := "spark-tools"
   ) ++ assemblySettings ++ extraAssemblySettings
 
-  def graphSettings = sharedSettings ++ Seq(
+  def graphxSettings = sharedSettings ++ Seq(
     name := "spark-graphx"
   )