diff --git a/examples/src/main/scala/spark/examples/Vector.scala b/core/src/main/scala/spark/util/Vector.scala
similarity index 95%
rename from examples/src/main/scala/spark/examples/Vector.scala
rename to core/src/main/scala/spark/util/Vector.scala
index 2abccbafce66f9c819007082bfaece50fd1b7f51..e5604687e926eddd38762c4b76d604d0fce81b0f 100644
--- a/examples/src/main/scala/spark/examples/Vector.scala
+++ b/core/src/main/scala/spark/util/Vector.scala
@@ -1,8 +1,8 @@
-package spark.examples
+package spark.util
 
 class Vector(val elements: Array[Double]) extends Serializable {
   def length = elements.length
-  
+
   def apply(index: Int) = elements(index)
 
   def + (other: Vector): Vector = {
@@ -29,12 +29,13 @@ class Vector(val elements: Array[Double]) extends Serializable {
     return ans
   }
 
+  def * (scale: Double): Vector = Vector(length, i => this(i) * scale)
   def * (scale: Double): Vector = Vector(length, i => this(i) * scale)
 
   def / (d: Double): Vector = this * (1 / d)
 
   def unary_- = this * -1
-  
+
   def sum = elements.reduceLeft(_ + _)
 
   def squaredDist(other: Vector): Double = {
@@ -76,6 +77,8 @@ object Vector {
 
   implicit object VectorAccumParam extends spark.AccumulatorParam[Vector] {
     def addInPlace(t1: Vector, t2: Vector) = t1 + t2
+
     def zero(initialValue: Vector) = Vector.zeros(initialValue.length)
   }
+
 }
diff --git a/examples/src/main/scala/spark/examples/LocalFileLR.scala b/examples/src/main/scala/spark/examples/LocalFileLR.scala
index b819fe80fefa3e8ac19609c6af038cc9cd2dea7e..f958ef9f72f5679cb6bad934c9060d50df038ed4 100644
--- a/examples/src/main/scala/spark/examples/LocalFileLR.scala
+++ b/examples/src/main/scala/spark/examples/LocalFileLR.scala
@@ -1,7 +1,7 @@
 package spark.examples
 
 import java.util.Random
-import Vector._
+import spark.util.Vector
 
 object LocalFileLR {
   val D = 10   // Numer of dimensions
diff --git a/examples/src/main/scala/spark/examples/LocalKMeans.scala b/examples/src/main/scala/spark/examples/LocalKMeans.scala
index 7e8e7a69597eb919dce4cb653fc5ee35afefe1ec..b442c604cdd2c975a2b535768d5ba382004190c6 100644
--- a/examples/src/main/scala/spark/examples/LocalKMeans.scala
+++ b/examples/src/main/scala/spark/examples/LocalKMeans.scala
@@ -1,8 +1,7 @@
 package spark.examples
 
 import java.util.Random
-import Vector._
-import spark.SparkContext
+import spark.util.Vector
 import spark.SparkContext._
 import scala.collection.mutable.HashMap
 import scala.collection.mutable.HashSet
diff --git a/examples/src/main/scala/spark/examples/LocalLR.scala b/examples/src/main/scala/spark/examples/LocalLR.scala
index 72c50091095f7448e552397aa08ad1760c822eaa..f2ac2b3e06dcea18ea374a098355d989cb976bd3 100644
--- a/examples/src/main/scala/spark/examples/LocalLR.scala
+++ b/examples/src/main/scala/spark/examples/LocalLR.scala
@@ -1,7 +1,7 @@
 package spark.examples
 
 import java.util.Random
-import Vector._
+import spark.util.Vector
 
 object LocalLR {
   val N = 10000  // Number of data points
diff --git a/examples/src/main/scala/spark/examples/SparkHdfsLR.scala b/examples/src/main/scala/spark/examples/SparkHdfsLR.scala
index 13b6ec1d3f140e62d5b377af80565dd2efe4f041..5b2bc84d6900fa8099ef065091935bb7ef20f15d 100644
--- a/examples/src/main/scala/spark/examples/SparkHdfsLR.scala
+++ b/examples/src/main/scala/spark/examples/SparkHdfsLR.scala
@@ -2,7 +2,7 @@ package spark.examples
 
 import java.util.Random
 import scala.math.exp
-import Vector._
+import spark.util.Vector
 import spark._
 
 object SparkHdfsLR {
diff --git a/examples/src/main/scala/spark/examples/SparkKMeans.scala b/examples/src/main/scala/spark/examples/SparkKMeans.scala
index 5eb1c95a16a0b544e422c50dd75d95ae7288b1b9..adce551322d8212d039ce02a911a0106ecf3c48e 100644
--- a/examples/src/main/scala/spark/examples/SparkKMeans.scala
+++ b/examples/src/main/scala/spark/examples/SparkKMeans.scala
@@ -1,8 +1,8 @@
 package spark.examples
 
 import java.util.Random
-import Vector._
 import spark.SparkContext
+import spark.util.Vector
 import spark.SparkContext._
 import scala.collection.mutable.HashMap
 import scala.collection.mutable.HashSet
diff --git a/examples/src/main/scala/spark/examples/SparkLR.scala b/examples/src/main/scala/spark/examples/SparkLR.scala
index 7715e5a7139c21c89d650149e4b1c2e88946b3af..19123db7387dba19cf52d4f1eab51103304718bf 100644
--- a/examples/src/main/scala/spark/examples/SparkLR.scala
+++ b/examples/src/main/scala/spark/examples/SparkLR.scala
@@ -2,7 +2,7 @@ package spark.examples
 
 import java.util.Random
 import scala.math.exp
-import Vector._
+import spark.util.Vector
 import spark._
 
 object SparkLR {