diff --git a/README.md b/README.md
index 4bedecc..ee3ed17 100644
--- a/README.md
+++ b/README.md
@@ -99,7 +99,7 @@
 
 ```PHP
 // assume you have a book with ID 'bookId1' and we assign 1 as the type ID for book
-$response = $client->setItem('bookId1', array('pio_itypes' => 1));
+$response = $client->setItem('bookId1', array('itypes' => 1));
 ```
 
 
diff --git a/composer.json b/composer.json
index 13dfce7..a7ec9b5 100644
--- a/composer.json
+++ b/composer.json
@@ -22,14 +22,14 @@
     ],
     "require": {
         "php": ">=5.4.0",
-        "guzzlehttp/guzzle": "~4.0"
+        "guzzlehttp/guzzle": "~5.0"
     },
     "require-dev": {
-        "symfony/class-loader": "*"
+        "symfony/class-loader": "~2.3"
     },
     "autoload": {
-        "psr-0": {
-            "predictionio": "src/"
+        "psr-4": {
+            "predictionio\\": "src/predictionio/"
         }
     }
 }
diff --git a/examples/ItemrankImport.php b/examples/ItemrankImport.php
index 4b33d75..4266a7f 100644
--- a/examples/ItemrankImport.php
+++ b/examples/ItemrankImport.php
@@ -16,7 +16,7 @@
 
 // set item - generate 50 items
 for ($i=1; $i<=50; $i++) {
-  $response=$client->setItem($i, array('pio_itypes'=>array('1')));
+  $response=$client->setItem($i, array('itypes'=>array('1')));
   print_r($response);
 }
 
diff --git a/examples/SampleEvent.php b/examples/SampleEvent.php
index 7e91c5a..b41fc07 100644
--- a/examples/SampleEvent.php
+++ b/examples/SampleEvent.php
@@ -29,16 +29,16 @@
   print_r($response);
   
   // set item with event time
-  $response=$client->setItem(3, array('pio_itypes'=>array('1')), 
+  $response=$client->setItem(3, array('itypes'=>array('1')), 
                         '2013-12-20T05:15:25.350+08:00');
   print_r($response);
 
   // set item 
-  $response=$client->setItem(2, array('pio_itypes'=>array('1')));
+  $response=$client->setItem(2, array('itypes'=>array('1')));
   print_r($response);
 
   // unset item 
-  $response=$client->unsetItem(2, array('pio_itypes'=>array('1')));
+  $response=$client->unsetItem(2, array('itypes'=>array('1')));
   print_r($response);
 
   // delete item 
@@ -52,7 +52,7 @@
   // create event
   $response=$client->createEvent(array(
                         'event' => 'my_event',
-                        'entityType' => 'pio_user',
+                        'entityType' => 'user',
                         'entityId' => '8',
                         'properties' => array('prop1'=>1, 'prop2'=>2),
                    ));
diff --git a/src/predictionio/EventClient.php b/src/predictionio/EventClient.php
index ac7d2eb..df4286f 100644
--- a/src/predictionio/EventClient.php
+++ b/src/predictionio/EventClient.php
@@ -58,7 +58,7 @@
 
     $json = json_encode([
         'event' => '$set',
-        'entityType' => 'pio_user',
+        'entityType' => 'user',
         'entityId' => $uid,
         'properties' => $properties,
         'eventTime' => $eventTime,
@@ -87,7 +87,7 @@
 
     $json = json_encode([
         'event' => '$unset',
-        'entityType' => 'pio_user',
+        'entityType' => 'user',
         'entityId' => $uid,
         'properties' => $properties,
         'eventTime' => $eventTime,
@@ -113,7 +113,7 @@
 
     $json = json_encode([
         'event' => '$delete',
-        'entityType' => 'pio_user',
+        'entityType' => 'user',
         'entityId' => $uid,
         'eventTime' => $eventTime,
     ]);
@@ -139,7 +139,7 @@
     if (empty($properties)) $properties = (object)$properties;
     $json = json_encode([
         'event' => '$set',
-        'entityType' => 'pio_item',
+        'entityType' => 'item',
         'entityId' => $iid,
         'properties' => $properties,
         'eventTime' => $eventTime,
@@ -167,7 +167,7 @@
         throw new PredictionIOAPIError('Specify at least one property'); 
     $json = json_encode([
         'event' => '$unset',
-        'entityType' => 'pio_item',
+        'entityType' => 'item',
         'entityId' => $iid,
         'properties' => $properties,
         'eventTime' => $eventTime,
@@ -193,7 +193,7 @@
 
     $json = json_encode([
         'event' => '$delete',
-        'entityType' => 'pio_item',
+        'entityType' => 'item',
         'entityId' => $iid,
         'eventTime' => $eventTime,
     ]);
@@ -223,9 +223,9 @@
     if (empty($properties)) $properties = (object)$properties;
     $json = json_encode([
         'event' => $event,
-        'entityType' => 'pio_user',
+        'entityType' => 'user',
         'entityId' => $uid,
-        'targetEntityType' => 'pio_item',
+        'targetEntityType' => 'item',
         'targetEntityId' => $iid,
         'properties' => $properties,
         'eventTime' => $eventTime,
diff --git a/tests/Unit/EventClientTest.php b/tests/Unit/EventClientTest.php
index a065ce6..c929901 100644
--- a/tests/Unit/EventClientTest.php
+++ b/tests/Unit/EventClientTest.php
@@ -26,7 +26,7 @@
     $body=json_decode($request->getBody(), true);
 
     $this->assertEquals('$set',$body['event']);
-    $this->assertEquals('pio_user',$body['entityType']);
+    $this->assertEquals('user',$body['entityType']);
     $this->assertEquals(1,$body['entityId']);
     $this->assertEquals(20,$body['properties']['age']);
     $this->assertNotNull($body['eventTime']);
@@ -51,7 +51,7 @@
     $body=json_decode($request->getBody(), true);
 
     $this->assertEquals('$unset',$body['event']);
-    $this->assertEquals('pio_user',$body['entityType']);
+    $this->assertEquals('user',$body['entityType']);
     $this->assertEquals(1,$body['entityId']);
     $this->assertEquals(20,$body['properties']['age']);
     $this->assertNotNull($body['eventTime']);
@@ -83,7 +83,7 @@
     $body=json_decode($request->getBody(), true);
 
     $this->assertEquals('$delete',$body['event']);
-    $this->assertEquals('pio_user',$body['entityType']);
+    $this->assertEquals('user',$body['entityType']);
     $this->assertEquals(1,$body['entityId']);
     $this->assertNotNull($body['eventTime']);
     $this->assertEquals('POST',$request->getMethod());
@@ -107,7 +107,7 @@
     $body=json_decode($request->getBody(), true);
 
     $this->assertEquals('$set',$body['event']);
-    $this->assertEquals('pio_item',$body['entityType']);
+    $this->assertEquals('item',$body['entityType']);
     $this->assertEquals(1,$body['entityId']);
     $this->assertEquals('book',$body['properties']['type']);
     $this->assertNotNull($body['eventTime']);
@@ -132,7 +132,7 @@
     $body=json_decode($request->getBody(), true);
 
     $this->assertEquals('$unset',$body['event']);
-    $this->assertEquals('pio_item',$body['entityType']);
+    $this->assertEquals('item',$body['entityType']);
     $this->assertEquals(1,$body['entityId']);
     $this->assertEquals('book',$body['properties']['type']);
     $this->assertNotNull($body['eventTime']);
@@ -164,7 +164,7 @@
     $body=json_decode($request->getBody(), true);
 
     $this->assertEquals('$delete',$body['event']);
-    $this->assertEquals('pio_item',$body['entityType']);
+    $this->assertEquals('item',$body['entityType']);
     $this->assertEquals(1,$body['entityId']);
     $this->assertNotNull($body['eventTime']);
     $this->assertEquals('POST',$request->getMethod());
@@ -188,9 +188,9 @@
     $body=json_decode($request->getBody(), true);
 
     $this->assertEquals('view',$body['event']);
-    $this->assertEquals('pio_user',$body['entityType']);
+    $this->assertEquals('user',$body['entityType']);
     $this->assertEquals(1,$body['entityId']);
-    $this->assertEquals('pio_item',$body['targetEntityType']);
+    $this->assertEquals('item',$body['targetEntityType']);
     $this->assertEquals(888,$body['targetEntityId']);
     $this->assertEquals(2,$body['properties']['count']);
     $this->assertNotNull($body['eventTime']);
