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 9044594..08690bc 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,9 @@
 
 ## Versions
 
-### develop
+### v0.1.2
+
+- update for PredictionIO 0.9.0
 
 ### v0.1.1
 
@@ -26,7 +28,7 @@
 $ python data/import_eventserver.py --access_key <your_access_key>
 ```
 
-### query
+### sample query
 
 normal:
 
diff --git a/build.sbt b/build.sbt
index 0600430..a52f698 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 a4dfcbf..358291e 100644
--- a/src/main/scala/ALSAlgorithm.scala
+++ b/src/main/scala/ALSAlgorithm.scala
@@ -45,7 +45,7 @@
 
   @transient lazy val logger = Logger[this.type]
 
-  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" }}}