diff --git a/property_store.h b/property_store.h
index bcd3e80..6c8934e 100644
--- a/property_store.h
+++ b/property_store.h
@@ -31,40 +31,40 @@
   // Upon success, these methods return true and leave |error| untouched.
   // Upon failure, they return false and set |error| appropriately, if it
   // is non-NULL.
-  virtual bool SetBoolProperty(const std::string& name,
+  virtual bool SetBoolProperty(const std::string &name,
                                bool value,
                                Error *error);
 
-  virtual bool SetInt16Property(const std::string& name,
+  virtual bool SetInt16Property(const std::string &name,
                                 int16 value,
                                 Error *error);
 
-  virtual bool SetInt32Property(const std::string& name,
+  virtual bool SetInt32Property(const std::string &name,
                                 int32 value,
                                 Error *error);
 
-  virtual bool SetStringProperty(const std::string& name,
-                                 const std::string& value,
+  virtual bool SetStringProperty(const std::string &name,
+                                 const std::string &value,
                                  Error *error);
 
   virtual bool SetStringmapProperty(
-      const std::string& name,
-      const std::map<std::string, std::string>& values,
+      const std::string &name,
+      const std::map<std::string, std::string> &values,
       Error *error);
 
-  virtual bool SetStringsProperty(const std::string& name,
-                                  const std::vector<std::string>& values,
+  virtual bool SetStringsProperty(const std::string &name,
+                                  const std::vector<std::string> &values,
                                   Error *error);
 
-  virtual bool SetUint8Property(const std::string& name,
+  virtual bool SetUint8Property(const std::string &name,
                                 uint8 value,
                                 Error *error);
 
-  virtual bool SetUint16Property(const std::string& name,
+  virtual bool SetUint16Property(const std::string &name,
                                  uint16 value,
                                  Error *error);
 
-  virtual bool SetUint32Property(const std::string& name,
+  virtual bool SetUint32Property(const std::string &name,
                                  uint32 value,
                                  Error *error);
 
