diff --git a/README.md b/README.md
index 2056bda..d15accf 100644
--- a/README.md
+++ b/README.md
@@ -80,26 +80,28 @@
 ### Import a User Record from Your App
 
     // assume you have a user with user ID 5
-    $command = $client->getCommand('create_user', array('uid' => 5));
+    $command = $client->getCommand('create_user', array('pio_uid' => 5));
     $response = $client->execute($command);
 
 ### Import an Item Record from Your App
 
     // assume you have a book with ID 'bookId1' and we assign 1 as the type ID for book
-    $command = $client->getCommand('create_item', array('iid' => 'bookId1', 'itypes' => 1));
+    $command = $client->getCommand('create_item', array('pio_iid' => 'bookId1', 'pio_itypes' => 1));
     $response = $client->execute($command);
 
 ### Import a User Action (View) form Your App
 
     // assume this user has viewed this book item
-    $client->execute($client->getCommand('user_view_item', array('uid' => 5, 'iid' => 'bookId1')));
+    $client->identify('5');
+    $client->execute($client->getCommand('record_action_on_item', array('pio_action' => 'view', 'pio_iid' => 'bookId1')));
 
 ### Retrieving Top N Recommendations for a User
 
     try {
         // assume you have created an itemrec engine named 'engine1'
         // we try to get top 10 recommendations for a user (user ID 5)
-        $command = $client->getCommand('itemrec_get_top_n', array('engine' => 'engine1', 'uid' => 5, 'n' => 10))
+        $client->identify('5');
+        $command = $client->getCommand('itemrec_get_top_n', array('pio_engine' => 'engine1', 'pio_n' => 10))
         $rec = $client->execute($command);
         print_r($rec);
     } catch (Exception $e) {
diff --git a/src/PredictionIO/Command/CreateItem.php b/src/PredictionIO/Command/CreateItem.php
index 2dc8ce3..99248d9 100644
--- a/src/PredictionIO/Command/CreateItem.php
+++ b/src/PredictionIO/Command/CreateItem.php
@@ -12,7 +12,7 @@
  *
  * To supply custom item information, simply pass it in during command creation, or use the "set" method inherited from Guzzle\Common\Collection.
  * <code>
- * $command = $client->getCommand('create_item', array('iid' => 'foobar', 'custom1' => 'baz'));
+ * $command = $client->getCommand('create_item', array('pio_iid' => 'foobar', 'custom1' => 'baz'));
  * $command->set('custom2', '0xdeadbeef');
  * </code>
  *
diff --git a/src/PredictionIO/Command/CreateUser.php b/src/PredictionIO/Command/CreateUser.php
index d3ebda7..11e7979 100644
--- a/src/PredictionIO/Command/CreateUser.php
+++ b/src/PredictionIO/Command/CreateUser.php
@@ -12,7 +12,7 @@
  *
  * To supply custom user information, simply pass it in during command creation, or use the "set" method inherited from Guzzle\Common\Collection.
  * <code>
- * $command = $client->getCommand('create_user', array('uid' => 'foobar', 'custom1' => 'baz'));
+ * $command = $client->getCommand('create_user', array('pio_uid' => 'foobar', 'custom1' => 'baz'));
  * $command->set('custom2', '0xdeadbeef');
  * </code>
  *
diff --git a/src/PredictionIO/Command/GetItem.php b/src/PredictionIO/Command/GetItem.php
index ffb37de..4912fb2 100644
--- a/src/PredictionIO/Command/GetItem.php
+++ b/src/PredictionIO/Command/GetItem.php
@@ -8,7 +8,7 @@
 /**
  * Retrieve Item Information
  *
- * Get the information record of an item. Returned record will contain an extra 'ct' field, indicating the creation time of the record in UNIX UTC timestamp (milliseconds) format.
+ * Get the information record of an item.
  * If startT/endT exists, it will be returned in UNIX UTC timestamp (milliseconds) format.
  *
  * @guzzle iid type="string" required="true"
diff --git a/src/PredictionIO/Command/GetUser.php b/src/PredictionIO/Command/GetUser.php
index ffcbdb2..988d4fa 100644
--- a/src/PredictionIO/Command/GetUser.php
+++ b/src/PredictionIO/Command/GetUser.php
@@ -8,7 +8,7 @@
 /**
  * Retrieve User Information
  *
- * Get the information record of a user. Returned record will contain an extra 'ct' field, indicating the creation time of the record in UNIX UTC timestamp (milliseconds) format.
+ * Get the information record of a user.
  *
  * @guzzle uid type="string" required="true"
  */
