Merge branch 'develop'
diff --git a/.gitignore b/.gitignore
index 64fa18b..57841c6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 manifest.json
 target/
 pio.log
+/pio.sbt
diff --git a/README.md b/README.md
index 33436a5..bf49fe2 100644
--- a/README.md
+++ b/README.md
@@ -6,9 +6,9 @@
 
 ## Versions
 
-### develop
+### v0.1.1
 
-- TBD
+- update for PredictionIO 0.9.0
 
 ### v0.1.0
 
diff --git a/build.sbt b/build.sbt
index 575ccf2..f4d98ee 100644
--- a/build.sbt
+++ b/build.sbt
@@ -7,6 +7,6 @@
 organization := "io.prediction"
 
 libraryDependencies ++= Seq(
-  "io.prediction"    %% "core"          % "0.8.7-SNAPSHOT" % "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 67dc32a..e28c4fe 100644
--- a/src/main/scala/ALSAlgorithm.scala
+++ b/src/main/scala/ALSAlgorithm.scala
@@ -60,7 +60,7 @@
   // NOTE: use getLEvents() for local access
   @transient lazy val lEventsDb = Storage.getLEvents()
 
-  def train(data: PreparedData): ALSModel = {
+  def train(sc: SparkContext, data: PreparedData): ALSModel = {
     require(!data.viewEvents.take(1).isEmpty,
       s"viewEvents in PreparedData cannot be empty." +
       " Please check if DataSource generates TrainingData" +
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" }}}