Merge branch 'develop'
diff --git a/README.md b/README.md
index 7cdfc40..094c1a0 100644
--- a/README.md
+++ b/README.md
@@ -8,9 +8,16 @@
 
 ### develop
 
+### v0.3.0
+
+- update for PredictionIO 0.9.2, including:
+
+  - use new PEventStore API
+  - use appName in DataSource parameter
+
 ### v0.2.0
 
-- update for PredictionIO 0.9.2
+- update build.sbt and template.json for PredictionIO 0.9.2
 
 ### v0.1.2
 
diff --git a/engine.json b/engine.json
index 4c34b71..e10424e 100644
--- a/engine.json
+++ b/engine.json
@@ -4,7 +4,7 @@
   "engineFactory": "org.template.recommendation.RecommendationEngine",
   "datasource": {
     "params" : {
-      "appId": 1
+      "appName": "INVALID_APP_NAME"
     }
   },
   "algorithms": [
diff --git a/src/main/scala/DataSource.scala b/src/main/scala/DataSource.scala
index 23faa3d..43ac5f9 100644
--- a/src/main/scala/DataSource.scala
+++ b/src/main/scala/DataSource.scala
@@ -5,7 +5,7 @@
 import io.prediction.controller.EmptyActualResult
 import io.prediction.controller.Params
 import io.prediction.data.storage.Event
-import io.prediction.data.storage.Storage
+import io.prediction.data.store.PEventStore
 
 import org.apache.spark.SparkContext
 import org.apache.spark.SparkContext._
@@ -13,7 +13,7 @@
 
 import grizzled.slf4j.Logger
 
-case class DataSourceParams(appId: Int) extends Params
+case class DataSourceParams(appName: String) extends Params
 
 class DataSource(val dsp: DataSourceParams)
   extends PDataSource[TrainingData,
@@ -23,9 +23,9 @@
 
   override
   def readTraining(sc: SparkContext): TrainingData = {
-    val eventsDb = Storage.getPEvents()
-    val eventsRDD: RDD[Event] = eventsDb.find(
-      appId = dsp.appId,
+
+    val eventsRDD: RDD[Event] = PEventStore.find(
+      appName = dsp.appName,
       entityType = Some("user"),
       eventNames = Some(List("rate", "buy")), // read "rate" and "buy" event
       // targetEntityType is optional field of an event.