diff --git a/sintf.xml b/manifest.xml
similarity index 100%
rename from sintf.xml
rename to manifest.xml
diff --git a/transport/ServiceManagement.cpp b/transport/ServiceManagement.cpp
index fec29d1..387b161 100644
--- a/transport/ServiceManagement.cpp
+++ b/transport/ServiceManagement.cpp
@@ -141,6 +141,8 @@
         // TODO: lookup in VINTF instead
         // TODO(b/34135607): Remove HAL_LIBRARY_PATH_SYSTEM
 
+        dlerror(); // clear
+
         for (const std::string &path : {
             HAL_LIBRARY_PATH_ODM, HAL_LIBRARY_PATH_VENDOR, HAL_LIBRARY_PATH_SYSTEM
         }) {
diff --git a/transport/token/1.0/ITokenManager.hal b/transport/token/1.0/ITokenManager.hal
index dc4134a..b1bb735 100644
--- a/transport/token/1.0/ITokenManager.hal
+++ b/transport/token/1.0/ITokenManager.hal
@@ -23,9 +23,8 @@
 interface ITokenManager {
 
     /**
-     * Register an interface. The server must only keep a weak reference
-     * to the token. The lifetime of the token is thus linked to the
-     * lifetime of the stored interface.
+     * Register an interface. The server must keep a strong reference
+     * to the interface until the token is destroyed by calling unregister.
      *
      * @param store Interface which can later be fetched with the returned token.
      * @return token Opaque value which may be used as inputs to other functions.
@@ -33,19 +32,17 @@
     createToken(interface store) generates (uint64_t token);
 
     /**
-     * Explicitly unregister an interface. If the server still holds a weak reference
-     * to an interface, but that interface interface is deleted and the reference
-     * cannot be promoted, then success must be false.
+     * Destory a token and the strong reference to the associated interface.
      *
-     * @param token Token recieved from createToken
-     * @return success Whether or not an interface was successfully unregistered.
+     * @param token Token received from createToken
+     * @return success Whether or not the token was successfully unregistered.
      */
     unregister(uint64_t token) generates (bool success);
 
     /**
-     * Fetches an interface from a provided token.
+     * Fetch an interface from a provided token.
      *
-     * @param token Token recieved from createToken
+     * @param token Token received from createToken
      * @return store Interface registered with createToken and the corresponding
      *               token or nullptr.
      */
