Merge branch 'develop'
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))
 }