diff --git a/docs/thread_safety.md b/docs/thread_safety.md
index 50bfad0..69f369e 100644
--- a/docs/thread_safety.md
+++ b/docs/thread_safety.md
@@ -9,14 +9,20 @@
 The easiest way to provide threads with their own `httplib2.Http()` instances is to either override the construction of it within the service object or to pass an instance via the http argument to method calls.
 
 ```python
+import google.auth
+import googleapiclient
+import google_auth_httplib2
+import httplib2
+from googleapiclient import discovery
+
 # Create a new Http() object for every request
 def build_request(http, *args, **kwargs):
-  new_http = httplib2.Http()
-  return apiclient.http.HttpRequest(new_http, *args, **kwargs)
-service = build('api_name', 'api_version', requestBuilder=build_request)
+  new_htpp = google_auth_httplib2.AuthorizedHttp(credentials, http=httplib2.Http())
+  return googleapiclient.http.HttpRequest(new_http, *args, **kwargs)
+service = discovery.build('api_name', 'api_version', requestBuilder=build_request)
 
 # Pass in a new Http() manually for every request
-service = build('api_name', 'api_version')
-http = httplib2.Http()
+service = discovery.build('api_name', 'api_version')
+http = google_auth_httplib2.AuthorizedHttp(credentials, http=httplib2.Http())
 service.stamps().list().execute(http=http)
-```
\ No newline at end of file
+```
