diff --git a/README.md b/README.md
index d8bac33..31dd678 100644
--- a/README.md
+++ b/README.md
@@ -2,10 +2,17 @@
 
 ## Documentation
 
-Please refer to http://predictionio.incubator.apache.org/templates/classification/quickstart/
+Please refer to
+http://predictionio.incubator.apache.org/templates/classification/quickstart/
 
 ## Versions
 
+### v0.12.0-incubating
+
+- Bump version number to track PredictionIO version
+- Sets default build targets according to PredictionIO
+- Fix use of case class
+
 ### v0.11.0-incubating
 
 - Bump version number to track PredictionIO version
diff --git a/build.sbt b/build.sbt
index 560eb77..4956083 100644
--- a/build.sbt
+++ b/build.sbt
@@ -1,6 +1,6 @@
 name := "template-scala-parallel-classification"
 
+scalaVersion := "2.11.8"
 libraryDependencies ++= Seq(
-  "org.apache.predictionio" %% "apache-predictionio-core" % "0.11.0-incubating" % "provided",
-  "org.apache.spark"        %% "spark-core"               % "1.3.1" % "provided",
-  "org.apache.spark"        %% "spark-mllib"              % "1.3.1" % "provided")
+  "org.apache.predictionio" %% "apache-predictionio-core" % "0.12.0-incubating" % "provided",
+  "org.apache.spark"        %% "spark-mllib"              % "2.1.1" % "provided")
diff --git a/project/assembly.sbt b/project/assembly.sbt
index e17409e..15a88b0 100644
--- a/project/assembly.sbt
+++ b/project/assembly.sbt
@@ -1 +1 @@
-addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.4")
+addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.5")
diff --git a/project/build.properties b/project/build.properties
index 64317fd..c091b86 100644
--- a/project/build.properties
+++ b/project/build.properties
@@ -1 +1 @@
-sbt.version=0.13.15
+sbt.version=0.13.16
diff --git a/src/main/scala/DataSource.scala b/src/main/scala/DataSource.scala
index 96d245e..f981e9e 100644
--- a/src/main/scala/DataSource.scala
+++ b/src/main/scala/DataSource.scala
@@ -102,7 +102,7 @@
         new TrainingData(trainingPoints),
         new EmptyEvaluationInfo(),
         testingPoints.map {
-          p => (new Query(p.features(0), p.features(1), p.features(2)), new ActualResult(p.label))
+          p => (Query(p.features(0), p.features(1), p.features(2)), ActualResult(p.label))
         }
       )
     }
diff --git a/src/main/scala/Engine.scala b/src/main/scala/Engine.scala
index 72c2515..3549f94 100644
--- a/src/main/scala/Engine.scala
+++ b/src/main/scala/Engine.scala
@@ -3,19 +3,19 @@
 import org.apache.predictionio.controller.EngineFactory
 import org.apache.predictionio.controller.Engine
 
-class Query(
-  val attr0 : Double,
-  val attr1 : Double,
-  val attr2 : Double
-) extends Serializable
+case class Query(
+  attr0 : Double,
+  attr1 : Double,
+  attr2 : Double
+)
 
-class PredictedResult(
-  val label: Double
-) extends Serializable
+case class PredictedResult(
+  label: Double
+)
 
-class ActualResult(
-  val label: Double
-) extends Serializable
+case class ActualResult(
+  label: Double
+)
 
 object ClassificationEngine extends EngineFactory {
   def apply() = {
diff --git a/src/main/scala/Evaluation.scala b/src/main/scala/Evaluation.scala
index 9916f03..d17e39e 100644
--- a/src/main/scala/Evaluation.scala
+++ b/src/main/scala/Evaluation.scala
@@ -14,7 +14,7 @@
 
 object AccuracyEvaluation extends Evaluation {
   // Define Engine and Metric used in Evaluation
-  engineMetric = (ClassificationEngine(), new Accuracy())
+  engineMetric = (ClassificationEngine(), Accuracy())
 }
 
 object EngineParamsList extends EngineParamsGenerator {
diff --git a/src/main/scala/NaiveBayesAlgorithm.scala b/src/main/scala/NaiveBayesAlgorithm.scala
index 5723bc1..603a652 100644
--- a/src/main/scala/NaiveBayesAlgorithm.scala
+++ b/src/main/scala/NaiveBayesAlgorithm.scala
@@ -34,7 +34,7 @@
     val label = model.predict(Vectors.dense(
       Array(query.attr0, query.attr1, query.attr2)
     ))
-    new PredictedResult(label)
+    PredictedResult(label)
   }
 
 }
diff --git a/src/main/scala/PrecisionEvaluation.scala b/src/main/scala/PrecisionEvaluation.scala
index 71d391a..d0914f1 100644
--- a/src/main/scala/PrecisionEvaluation.scala
+++ b/src/main/scala/PrecisionEvaluation.scala
@@ -23,5 +23,5 @@
 }
 
 object PrecisionEvaluation extends Evaluation {
-  engineMetric = (ClassificationEngine(), new Precision(label = 1.0))
+  engineMetric = (ClassificationEngine(), Precision(label = 1.0))
 }
