Merge branch 'develop'
diff --git a/.gitignore b/.gitignore
index 295cafd..ebc8c6e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
 manifest.json
 target/
 pio.log
+/pio.sbt
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..7af983c
--- /dev/null
+++ b/README.md
@@ -0,0 +1,23 @@
+# Recommendation Template
+
+## Documentation
+
+Please refer to http://docs.prediction.io/templates/recommendation/quickstart/
+
+## Versions
+
+### develop
+
+### v0.1.2
+
+- update for PredictionIO 0.9.0
+
+### v0.1.1
+
+- Persist RDD to memory (.cache()) in DataSource for better performance and quick fix for new user/item ID BiMap error issue.
+
+### v0.1.0
+
+- initial version
+- known issue:
+  * If importing new events of new users/itesm during training, the new user/item id can't be found in the BiMap.
diff --git a/build.sbt b/build.sbt
index 62d4b72..6e2892e 100644
--- a/build.sbt
+++ b/build.sbt
@@ -7,6 +7,6 @@
 organization := "io.prediction"
 
 libraryDependencies ++= Seq(
-  "io.prediction"    %% "core"          % "0.8.6" % "provided",
+  "io.prediction"    %% "core"          % pioVersion.value % "provided",
   "org.apache.spark" %% "spark-core"    % "1.2.0" % "provided",
   "org.apache.spark" %% "spark-mllib"   % "1.2.0" % "provided")
diff --git a/project/pio-build.sbt b/project/pio-build.sbt
new file mode 100644
index 0000000..8346a96
--- /dev/null
+++ b/project/pio-build.sbt
@@ -0,0 +1 @@
+addSbtPlugin("io.prediction" % "pio-build" % "0.9.0")
diff --git a/src/main/scala/ALSAlgorithm.scala b/src/main/scala/ALSAlgorithm.scala
index 8521af2..0c0db22 100644
--- a/src/main/scala/ALSAlgorithm.scala
+++ b/src/main/scala/ALSAlgorithm.scala
@@ -24,7 +24,7 @@
 
   @transient lazy val logger = Logger[this.type]
 
-  def train(data: PreparedData): ALSModel = {
+  def train(sc: SparkContext, data: PreparedData): ALSModel = {
     // MLLib ALS cannot handle empty training data.
     require(!data.ratings.take(1).isEmpty,
       s"RDD[Rating] in PreparedData cannot be empty." +
diff --git a/template.json b/template.json
new file mode 100644
index 0000000..932e603
--- /dev/null
+++ b/template.json
@@ -0,0 +1 @@
+{"pio": {"version": { "min": "0.9.0" }}}