Merge branch 'develop'
diff --git a/README.md b/README.md
index d5814c3..f824876 100644
--- a/README.md
+++ b/README.md
@@ -2,10 +2,18 @@
 
 ## Documentation
 
-Please refer to http://docs.prediction.io/templates/recommendation/quickstart/
+Please refer to
+http://predictionio.incubator.apache.org/templates/recommendation/quickstart/.
 
 ## Versions
 
+### v0.11.0-incubating
+
+- Bump version number to track PredictionIO version
+- Rename Scala package name
+- Update SBT version
+- Fix typo
+
 ### v0.4.0
 
 - Compatible with Apache PredictionIO 0.10.0-incubating
diff --git a/build.sbt b/build.sbt
index 20cccdb..a7cb20c 100644
--- a/build.sbt
+++ b/build.sbt
@@ -1,12 +1,6 @@
-import AssemblyKeys._
-
-assemblySettings
-
 name := "template-scala-parallel-recommendation"
 
-organization := "org.apache.predictionio"
-
 libraryDependencies ++= Seq(
-  "org.apache.predictionio" %% "apache-predictionio-core" % "0.10.0-incubating" % "provided",
+  "org.apache.predictionio" %% "apache-predictionio-core" % "0.11.0-incubating" % "provided",
   "org.apache.spark"        %% "spark-core"               % "1.3.0" % "provided",
   "org.apache.spark"        %% "spark-mllib"              % "1.3.0" % "provided")
diff --git a/data/import_eventserver.py b/data/import_eventserver.py
index 0a1e109..2c92335 100644
--- a/data/import_eventserver.py
+++ b/data/import_eventserver.py
@@ -13,7 +13,7 @@
   f = open(file, 'r')
   random.seed(SEED)
   count = 0
-  print "Importing data..."
+  print("Importing data...")
   for line in f:
     data = line.rstrip('\r\n').split(RATE_ACTIONS_DELIMITER)
     # For demonstration purpose, randomly mix in some buy events
@@ -36,7 +36,7 @@
       )
     count += 1
   f.close()
-  print "%s events are imported." % count
+  print("%s events are imported." % count)
 
 if __name__ == '__main__':
   parser = argparse.ArgumentParser(
@@ -46,7 +46,7 @@
   parser.add_argument('--file', default="./data/sample_movielens_data.txt")
 
   args = parser.parse_args()
-  print args
+  print(args)
 
   client = predictionio.EventClient(
     access_key=args.access_key,
diff --git a/data/send_query.py b/data/send_query.py
index 7eaf53e..3dafd6d 100644
--- a/data/send_query.py
+++ b/data/send_query.py
@@ -4,4 +4,4 @@
 
 import predictionio
 engine_client = predictionio.EngineClient(url="http://localhost:8000")
-print engine_client.send_query({"user": "1", "num": 4})
+print(engine_client.send_query({"user": "1", "num": 4}))
diff --git a/engine.json b/engine.json
index e10424e..258b3d1 100644
--- a/engine.json
+++ b/engine.json
@@ -1,7 +1,7 @@
 {
   "id": "default",
   "description": "Default settings",
-  "engineFactory": "org.template.recommendation.RecommendationEngine",
+  "engineFactory": "org.example.recommendation.RecommendationEngine",
   "datasource": {
     "params" : {
       "appName": "INVALID_APP_NAME"
diff --git a/project/assembly.sbt b/project/assembly.sbt
index 54c3252..e17409e 100644
--- a/project/assembly.sbt
+++ b/project/assembly.sbt
@@ -1 +1 @@
-addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.11.2")
+addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.4")
diff --git a/project/build.properties b/project/build.properties
new file mode 100644
index 0000000..64317fd
--- /dev/null
+++ b/project/build.properties
@@ -0,0 +1 @@
+sbt.version=0.13.15
diff --git a/src/main/scala/ALSAlgorithm.scala b/src/main/scala/ALSAlgorithm.scala
index 17c2806..b53a9af 100644
--- a/src/main/scala/ALSAlgorithm.scala
+++ b/src/main/scala/ALSAlgorithm.scala
@@ -1,4 +1,4 @@
-package org.template.recommendation
+package org.example.recommendation
 
 import org.apache.predictionio.controller.PAlgorithm
 import org.apache.predictionio.controller.Params
@@ -35,7 +35,7 @@
     require(!data.ratings.take(1).isEmpty,
       s"RDD[Rating] in PreparedData cannot be empty." +
       " Please check if DataSource generates TrainingData" +
-      " and Preprator generates PreparedData correctly.")
+      " and Preparator generates PreparedData correctly.")
     // Convert user and item String IDs to Int index for MLlib
 
     val userStringIntMap = BiMap.stringInt(data.ratings.map(_.user))
diff --git a/src/main/scala/ALSModel.scala b/src/main/scala/ALSModel.scala
index 243c1d1..afec745 100644
--- a/src/main/scala/ALSModel.scala
+++ b/src/main/scala/ALSModel.scala
@@ -3,7 +3,7 @@
 // MatrixFactorizationModel's constructor is private and we are using
 // its constructor in order to save and load the model
 
-import org.template.recommendation.ALSAlgorithmParams
+import org.example.recommendation.ALSAlgorithmParams
 
 import org.apache.predictionio.controller.IPersistentModel
 import org.apache.predictionio.controller.IPersistentModelLoader
diff --git a/src/main/scala/DataSource.scala b/src/main/scala/DataSource.scala
index eea3ae6..7f7b4a1 100644
--- a/src/main/scala/DataSource.scala
+++ b/src/main/scala/DataSource.scala
@@ -1,4 +1,4 @@
-package org.template.recommendation
+package org.example.recommendation
 
 import org.apache.predictionio.controller.PDataSource
 import org.apache.predictionio.controller.EmptyEvaluationInfo
diff --git a/src/main/scala/Engine.scala b/src/main/scala/Engine.scala
index 79840dc..20a5521 100644
--- a/src/main/scala/Engine.scala
+++ b/src/main/scala/Engine.scala
@@ -1,4 +1,4 @@
-package org.template.recommendation
+package org.example.recommendation
 
 import org.apache.predictionio.controller.IEngineFactory
 import org.apache.predictionio.controller.Engine
diff --git a/src/main/scala/Evaluation.scala b/src/main/scala/Evaluation.scala
index 34e5689..e0eebe1 100644
--- a/src/main/scala/Evaluation.scala
+++ b/src/main/scala/Evaluation.scala
@@ -1,4 +1,4 @@
-package org.template.recommendation
+package org.example.recommendation
 
 import org.apache.predictionio.controller.Evaluation
 import org.apache.predictionio.controller.OptionAverageMetric
@@ -9,8 +9,8 @@
 import org.apache.predictionio.controller.MetricEvaluator
 
 // Usage:
-// $ pio eval org.template.recommendation.RecommendationEvaluation \
-//   org.template.recommendation.EngineParamsList
+// $ pio eval org.example.recommendation.RecommendationEvaluation \
+//   org.example.recommendation.EngineParamsList
 
 case class PrecisionAtK(k: Int, ratingThreshold: Double = 2.0)
     extends OptionAverageMetric[EmptyEvaluationInfo, Query, PredictedResult, ActualResult] {
diff --git a/src/main/scala/Preparator.scala b/src/main/scala/Preparator.scala
index 8f2f7e4..0e20c62 100644
--- a/src/main/scala/Preparator.scala
+++ b/src/main/scala/Preparator.scala
@@ -1,4 +1,4 @@
-package org.template.recommendation
+package org.example.recommendation
 
 import org.apache.predictionio.controller.PPreparator
 
diff --git a/src/main/scala/Serving.scala b/src/main/scala/Serving.scala
index 38ba8b9..6ba725f 100644
--- a/src/main/scala/Serving.scala
+++ b/src/main/scala/Serving.scala
@@ -1,4 +1,4 @@
-package org.template.recommendation
+package org.example.recommendation
 
 import org.apache.predictionio.controller.LServing