diff --git a/googlemock/docs/cheat_sheet.md b/googlemock/docs/cheat_sheet.md
index 1e0541ba..e12e834f 100644
--- a/googlemock/docs/cheat_sheet.md
+++ b/googlemock/docs/cheat_sheet.md
@@ -1,5 +1,18 @@
 ## gMock Cheat Sheet
 
+## Contents
+1. [Defining a Mock Class](#defining-a-mock-class)
+1. [Using Mocks in Tests {#UsingMocks}](#using-mocks-in-tests-usingmocks)
+1. [Setting Default Actions {#OnCall}](#setting-default-actions-oncall)
+1. [Setting Expectations {#ExpectCall}](#setting-expectations-expectcall)
+1. [Matchers {#MatcherList}](#matchers-matcherlist)
+1. [Actions {#ActionList}](#actions-actionlist)
+1. [Cardinalities {#CardinalityList}](#cardinalities-cardinalitylist)
+1. [Expectation Order](#expectation-order)
+1. [Verifying and Resetting a Mock](#verifying-and-resetting-a-mock)
+1. [Mock Classes](#mock-classes)
+1. [Flags](#flags)
+
 <!-- GOOGLETEST_CM0019 DO NOT DELETE -->
 
 <!-- GOOGLETEST_CM0033 DO NOT DELETE -->
diff --git a/googlemock/docs/cook_book.md b/googlemock/docs/cook_book.md
index 51eb94a9..8bdbbb0d 100644
--- a/googlemock/docs/cook_book.md
+++ b/googlemock/docs/cook_book.md
@@ -1,5 +1,91 @@
 # gMock Cookbook
 
+## Contents
+1. [Creating Mock Classes](#creating-mock-classes)
+	1. [Dealing with unprotected commas](#dealing-with-unprotected-commas)
+	1. [Mocking Private or Protected Methods](#mocking-private-or-protected-methods)
+	1. [Mocking Overloaded Methods](#mocking-overloaded-methods)
+	1. [Mocking Class Templates](#mocking-class-templates)
+	1. [Mocking Non-virtual Methods {#MockingNonVirtualMethods}](#mocking-non-virtual-methods-mockingnonvirtualmethods)
+	1. [Mocking Free Functions](#mocking-free-functions)
+	1. [Old-Style `MOCK_METHODn` Macros](#old-style-mock_methodn-macros)
+	1. [The Nice, the Strict, and the Naggy {#NiceStrictNaggy}](#the-nice-the-strict-and-the-naggy-nicestrictnaggy)
+	1. [Simplifying the Interface without Breaking Existing Code {#SimplerInterfaces}](#simplifying-the-interface-without-breaking-existing-code-simplerinterfaces)
+	1. [Alternative to Mocking Concrete Classes](#alternative-to-mocking-concrete-classes)
+	1. [Delegating Calls to a Fake {#DelegatingToFake}](#delegating-calls-to-a-fake-delegatingtofake)
+	1. [Delegating Calls to a Real Object](#delegating-calls-to-a-real-object)
+	1. [Delegating Calls to a Parent Class](#delegating-calls-to-a-parent-class)
+1. [Using Matchers](#using-matchers)
+	1. [Matching Argument Values Exactly](#matching-argument-values-exactly)
+	1. [Using Simple Matchers](#using-simple-matchers)
+	1. [Combining Matchers {#CombiningMatchers}](#combining-matchers-combiningmatchers)
+	1. [Casting Matchers {#SafeMatcherCast}](#casting-matchers-safematchercast)
+	1. [Selecting Between Overloaded Functions {#SelectOverload}](#selecting-between-overloaded-functions-selectoverload)
+	1. [Performing Different Actions Based on the Arguments](#performing-different-actions-based-on-the-arguments)
+	1. [Matching Multiple Arguments as a Whole](#matching-multiple-arguments-as-a-whole)
+	1. [Using Matchers as Predicates](#using-matchers-as-predicates)
+	1. [Using Matchers in googletest Assertions](#using-matchers-in-googletest-assertions)
+	1. [Using Predicates as Matchers](#using-predicates-as-matchers)
+	1. [Matching Arguments that Are Not Copyable](#matching-arguments-that-are-not-copyable)
+	1. [Validating a Member of an Object](#validating-a-member-of-an-object)
+	1. [Validating the Value Pointed to by a Pointer Argument](#validating-the-value-pointed-to-by-a-pointer-argument)
+	1. [Testing a Certain Property of an Object](#testing-a-certain-property-of-an-object)
+	1. [Matching Containers](#matching-containers)
+	1. [Sharing Matchers](#sharing-matchers)
+	1. [Matchers must have no side-effects {#PureMatchers}](#matchers-must-have-no-side-effects-purematchers)
+1. [Setting Expectations](#setting-expectations)
+	1. [Knowing When to Expect {#UseOnCall}](#knowing-when-to-expect-useoncall)
+	1. [Ignoring Uninteresting Calls](#ignoring-uninteresting-calls)
+	1. [Disallowing Unexpected Calls](#disallowing-unexpected-calls)
+	1. [Understanding Uninteresting vs Unexpected Calls {#uninteresting-vs-unexpected}](#understanding-uninteresting-vs-unexpected-calls-uninteresting-vs-unexpected)
+	1. [Ignoring Uninteresting Arguments {#ParameterlessExpectations}](#ignoring-uninteresting-arguments-parameterlessexpectations)
+	1. [Expecting Ordered Calls {#OrderedCalls}](#expecting-ordered-calls-orderedcalls)
+	1. [Expecting Partially Ordered Calls {#PartialOrder}](#expecting-partially-ordered-calls-partialorder)
+	1. [Controlling When an Expectation Retires](#controlling-when-an-expectation-retires)
+1. [Using Actions](#using-actions)
+	1. [Returning References from Mock Methods](#returning-references-from-mock-methods)
+	1. [Returning Live Values from Mock Methods](#returning-live-values-from-mock-methods)
+	1. [Combining Actions](#combining-actions)
+	1. [Verifying Complex Arguments {#SaveArgVerify}](#verifying-complex-arguments-saveargverify)
+	1. [Mocking Side Effects {#MockingSideEffects}](#mocking-side-effects-mockingsideeffects)
+	1. [Changing a Mock Object's Behavior Based on the State](#changing-a-mock-object's-behavior-based-on-the-state)
+	1. [Setting the Default Value for a Return Type {#DefaultValue}](#setting-the-default-value-for-a-return-type-defaultvalue)
+	1. [Setting the Default Actions for a Mock Method](#setting-the-default-actions-for-a-mock-method)
+	1. [Using Functions/Methods/Functors/Lambdas as Actions {#FunctionsAsActions}](#using-functionsmethodsfunctorslambdas-as-actions-functionsasactions)
+	1. [Using Functions with Extra Info as Actions](#using-functions-with-extra-info-as-actions)
+	1. [Invoking a Function/Method/Functor/Lambda/Callback Without Arguments](#invoking-a-functionmethodfunctorlambdacallback-without-arguments)
+	1. [Invoking an Argument of the Mock Function](#invoking-an-argument-of-the-mock-function)
+	1. [Ignoring an Action's Result](#ignoring-an-action's-result)
+	1. [Selecting an Action's Arguments {#SelectingArgs}](#selecting-an-action's-arguments-selectingargs)
+	1. [Ignoring Arguments in Action Functions](#ignoring-arguments-in-action-functions)
+	1. [Sharing Actions](#sharing-actions)
+	1. [Testing Asynchronous Behavior](#testing-asynchronous-behavior)
+1. [Misc Recipes on Using gMock](#misc-recipes-on-using-gmock)
+	1. [Mocking Methods That Use Move-Only Types](#mocking-methods-that-use-move-only-types)
+	1. [Making the Compilation Faster](#making-the-compilation-faster)
+	1. [Forcing a Verification](#forcing-a-verification)
+	1. [Using Check Points {#UsingCheckPoints}](#using-check-points-usingcheckpoints)
+	1. [Mocking Destructors](#mocking-destructors)
+	1. [Using gMock and Threads {#UsingThreads}](#using-gmock-and-threads-usingthreads)
+	1. [Controlling How Much Information gMock Prints](#controlling-how-much-information-gmock-prints)
+	1. [Gaining Super Vision into Mock Calls](#gaining-super-vision-into-mock-calls)
+	1. [Running Tests in Emacs](#running-tests-in-emacs)
+1. [Extending gMock](#extending-gmock)
+	1. [Writing New Matchers Quickly {#NewMatchers}](#writing-new-matchers-quickly-newmatchers)
+	1. [Writing New Parameterized Matchers Quickly](#writing-new-parameterized-matchers-quickly)
+	1. [Writing New Monomorphic Matchers](#writing-new-monomorphic-matchers)
+	1. [Writing New Polymorphic Matchers](#writing-new-polymorphic-matchers)
+	1. [Writing New Cardinalities](#writing-new-cardinalities)
+	1. [Writing New Actions Quickly {#QuickNewActions}](#writing-new-actions-quickly-quicknewactions)
+	1. [Restricting the Type of an Argument or Parameter in an ACTION](#restricting-the-type-of-an-argument-or-parameter-in-an-action)
+	1. [Writing New Action Templates Quickly](#writing-new-action-templates-quickly)
+	1. [Using the ACTION Object's Type](#using-the-action-object's-type)
+	1. [Writing New Monomorphic Actions {#NewMonoActions}](#writing-new-monomorphic-actions-newmonoactions)
+	1. [Writing New Polymorphic Actions {#NewPolyActions}](#writing-new-polymorphic-actions-newpolyactions)
+	1. [Teaching gMock How to Print Your Values](#teaching-gmock-how-to-print-your-values)
+1. [Useful Mocks Created Using gMock](#useful-mocks-created-using-gmock)
+	1. [Mock std::function {#MockFunction}](#mock-stdfunction-mockfunction)
+
 <!-- GOOGLETEST_CM0012 DO NOT DELETE -->
 
 You can find recipes for using gMock here. If you haven't yet, please read
diff --git a/googlemock/docs/for_dummies.md b/googlemock/docs/for_dummies.md
index 327e6cc3..1dcb8596 100644
--- a/googlemock/docs/for_dummies.md
+++ b/googlemock/docs/for_dummies.md
@@ -1,5 +1,14 @@
 ## gMock for Dummies {#GMockForDummies}
 
+## Contents
+1. [What Is gMock?](#what-is-gmock)
+1. [Why gMock?](#why-gmock)
+1. [Getting Started](#getting-started)
+1. [A Case for Mock Turtles](#a-case-for-mock-turtles)
+1. [Writing the Mock Class](#writing-the-mock-class)
+1. [Using Mocks in Tests](#using-mocks-in-tests)
+1. [Setting Expectations](#setting-expectations)
+
 <!-- GOOGLETEST_CM0013 DO NOT DELETE -->
 
 ### What Is gMock?
diff --git a/googlemock/docs/gmock_faq.md b/googlemock/docs/gmock_faq.md
index 214aabf1..3ebaaa71 100644
--- a/googlemock/docs/gmock_faq.md
+++ b/googlemock/docs/gmock_faq.md
@@ -1,5 +1,25 @@
 ## Legacy gMock FAQ {#GMockFaq}
 
+## Contents
+1. [When I call a method on my mock object, the method for the real object is invoked instead. What's the problem?](#when-i-call-a-method-on-my-mock-object-the-method-for-the-real-object-is-invoked-instead-what's-the-problem)
+1. [Can I mock a variadic function?](#can-i-mock-a-variadic-function)
+1. [MSVC gives me warning C4301 or C4373 when I define a mock method with a const parameter. Why?](#msvc-gives-me-warning-c4301-or-c4373-when-i-define-a-mock-method-with-a-const-parameter-why)
+1. [I can't figure out why gMock thinks my expectations are not satisfied. What should I do?](#i-can't-figure-out-why-gmock-thinks-my-expectations-are-not-satisfied-what-should-i-do)
+1. [My program crashed and `ScopedMockLog` spit out tons of messages. Is it a gMock bug?](#my-program-crashed-and-scopedmocklog-spit-out-tons-of-messages-is-it-a-gmock-bug)
+1. [How can I assert that a function is NEVER called?](#how-can-i-assert-that-a-function-is-never-called)
+1. [I have a failed test where gMock tells me TWICE that a particular expectation is not satisfied. Isn't this redundant?](#i-have-a-failed-test-where-gmock-tells-me-twice-that-a-particular-expectation-is-not-satisfied-isn't-this-redundant)
+1. [I get a heapcheck failure when using a mock object, but using a real object is fine. What can be wrong?](#i-get-a-heapcheck-failure-when-using-a-mock-object-but-using-a-real-object-is-fine-what-can-be-wrong)
+1. [The "newer expectations override older ones" rule makes writing expectations awkward. Why does gMock do that?](#the-newer-expectations-override-older-ones-rule-makes-writing-expectations-awkward-why-does-gmock-do-that)
+1. [gMock prints a warning when a function without EXPECT_CALL is called, even if I have set its behavior using ON_CALL. Would it be reasonable not to show the warning in this case?](#gmock-prints-a-warning-when-a-function-without-expect_call-is-called-even-if-i-have-set-its-behavior-using-on_call-would-it-be-reasonable-not-to-show-the-warning-in-this-case)
+1. [How can I delete the mock function's argument in an action?](#how-can-i-delete-the-mock-function's-argument-in-an-action)
+1. [How can I perform an arbitrary action on a mock function's argument?](#how-can-i-perform-an-arbitrary-action-on-a-mock-function's-argument)
+1. [My code calls a static/global function. Can I mock it?](#my-code-calls-a-staticglobal-function-can-i-mock-it)
+1. [My mock object needs to do complex stuff. It's a lot of pain to specify the actions. gMock sucks!](#my-mock-object-needs-to-do-complex-stuff-it's-a-lot-of-pain-to-specify-the-actions-gmock-sucks)
+1. [I got a warning "Uninteresting function call encountered - default action taken.." Should I panic?](#i-got-a-warning-uninteresting-function-call-encountered---default-action-taken-should-i-panic)
+1. [I want to define a custom action. Should I use Invoke() or implement the ActionInterface interface?](#i-want-to-define-a-custom-action-should-i-use-invoke-or-implement-the-actioninterface-interface)
+1. [I use SetArgPointee() in WillOnce(), but gcc complains about "conflicting return type specified". What does it mean?](#i-use-setargpointee-in-willonce-but-gcc-complains-about-conflicting-return-type-specified-what-does-it-mean)
+1. [I have a huge mock class, and Microsoft Visual C++ runs out of memory when compiling it. What can I do?](#i-have-a-huge-mock-class-and-microsoft-visual-c++-runs-out-of-memory-when-compiling-it-what-can-i-do)
+
 <!-- GOOGLETEST_CM0021 DO NOT DELETE -->
 
 ### When I call a method on my mock object, the method for the real object is invoked instead. What's the problem?
diff --git a/googlemock/docs/pump_manual.md b/googlemock/docs/pump_manual.md
index cdf7c57d..209a4966 100644
--- a/googlemock/docs/pump_manual.md
+++ b/googlemock/docs/pump_manual.md
@@ -2,6 +2,16 @@
 
 # The Problem
 
+## Contents
+1. [Our Solution](#our-solution)
+1. [Highlights](#highlights)
+1. [Examples](#examples)
+1. [Constructs](#constructs)
+1. [Grammar](#grammar)
+1. [Code](#code)
+1. [Real Examples](#real-examples)
+1. [Tips](#tips)
+
 Template and macro libraries often need to define many classes, functions, or
 macros that vary only (or almost only) in the number of arguments they take.
 It's a lot of repetitive, mechanical, and error-prone work.
diff --git a/googletest/docs/advanced.md b/googletest/docs/advanced.md
index 5677643d..14a1a72e 100644
--- a/googletest/docs/advanced.md
+++ b/googletest/docs/advanced.md
@@ -1,5 +1,53 @@
 # Advanced googletest Topics
 
+## Contents
+1. [Introduction](#introduction)
+1. [More Assertions](#more-assertions)
+	1. [Explicit Success and Failure](#explicit-success-and-failure)
+	1. [Exception Assertions](#exception-assertions)
+	1. [Predicate Assertions for Better Error Messages](#predicate-assertions-for-better-error-messages)
+	1. [Floating-Point Comparison](#floating-point-comparison)
+	1. [Asserting Using gMock Matchers](#asserting-using-gmock-matchers)
+	1. [More String Assertions](#more-string-assertions)
+	1. [Windows HRESULT assertions](#windows-hresult-assertions)
+	1. [Type Assertions](#type-assertions)
+	1. [Assertion Placement](#assertion-placement)
+1. [Teaching googletest How to Print Your Values](#teaching-googletest-how-to-print-your-values)
+1. [Death Tests](#death-tests)
+	1. [How to Write a Death Test](#how-to-write-a-death-test)
+	1. [Death Test Naming](#death-test-naming)
+	1. [Regular Expression Syntax](#regular-expression-syntax)
+	1. [How It Works](#how-it-works)
+	1. [Death Tests And Threads](#death-tests-and-threads)
+	1. [Death Test Styles](#death-test-styles)
+	1. [Caveats](#caveats)
+1. [Using Assertions in Sub-routines](#using-assertions-in-sub-routines)
+	1. [Adding Traces to Assertions](#adding-traces-to-assertions)
+	1. [Propagating Fatal Failures](#propagating-fatal-failures)
+1. [Logging Additional Information](#logging-additional-information)
+1. [Sharing Resources Between Tests in the Same Test Suite](#sharing-resources-between-tests-in-the-same-test-suite)
+1. [Global Set-Up and Tear-Down](#global-set-up-and-tear-down)
+1. [Value-Parameterized Tests](#value-parameterized-tests)
+	1. [How to Write Value-Parameterized Tests](#how-to-write-value-parameterized-tests)
+	1. [Creating Value-Parameterized Abstract Tests](#creating-value-parameterized-abstract-tests)
+	1. [Specifying Names for Value-Parameterized Test Parameters](#specifying-names-for-value-parameterized-test-parameters)
+1. [Typed Tests](#typed-tests)
+1. [Type-Parameterized Tests](#type-parameterized-tests)
+1. [Testing Private Code](#testing-private-code)
+1. ["Catching" Failures](#catching-failures)
+1. [Registering tests programmatically](#registering-tests-programmatically)
+1. [Getting the Current Test's Name](#getting-the-current-test's-name)
+1. [Extending googletest by Handling Test Events](#extending-googletest-by-handling-test-events)
+	1. [Defining Event Listeners](#defining-event-listeners)
+	1. [Using Event Listeners](#using-event-listeners)
+	1. [Generating Failures in Listeners](#generating-failures-in-listeners)
+1. [Running Test Programs: Advanced Options](#running-test-programs-advanced-options)
+	1. [Selecting Tests](#selecting-tests)
+	1. [Repeating the Tests](#repeating-the-tests)
+	1. [Shuffling the Tests](#shuffling-the-tests)
+	1. [Controlling Test Output](#controlling-test-output)
+	1. [Controlling How Failures Are Reported](#controlling-how-failures-are-reported)
+
 <!-- GOOGLETEST_CM0016 DO NOT DELETE -->
 
 ## Introduction
diff --git a/googletest/docs/faq.md b/googletest/docs/faq.md
index 05ecdd7d..c3b38aec 100644
--- a/googletest/docs/faq.md
+++ b/googletest/docs/faq.md
@@ -1,5 +1,36 @@
 # Googletest FAQ
 
+## Contents
+1. [Why should test suite names and test names not contain underscore?](#why-should-test-suite-names-and-test-names-not-contain-underscore)
+1. [Why does googletest support `EXPECT_EQ(NULL, ptr)` and `ASSERT_EQ(NULL, ptr)` but not `EXPECT_NE(NULL, ptr)` and `ASSERT_NE(NULL, ptr)`?](#why-does-googletest-support-expect_eqnull-ptr-and-assert_eqnull-ptr-but-not-expect_nenull-ptr-and-assert_nenull-ptr)
+1. [I need to test that different implementations of an interface satisfy some common requirements. Should I use typed tests or value-parameterized tests?](#i-need-to-test-that-different-implementations-of-an-interface-satisfy-some-common-requirements-should-i-use-typed-tests-or-value-parameterized-tests)
+1. [I got some run-time errors about invalid proto descriptors when using `ProtocolMessageEquals`. Help!](#i-got-some-run-time-errors-about-invalid-proto-descriptors-when-using-protocolmessageequals-help)
+1. [My death test modifies some state, but the change seems lost after the death test finishes. Why?](#my-death-test-modifies-some-state-but-the-change-seems-lost-after-the-death-test-finishes-why)
+1. [EXPECT_EQ(htonl(blah), blah_blah) generates weird compiler errors in opt mode. Is this a googletest bug?](#expect_eqhtonlblah-blah_blah-generates-weird-compiler-errors-in-opt-mode-is-this-a-googletest-bug)
+1. [The compiler complains about "undefined references" to some static const member variables, but I did define them in the class body. What's wrong?](#the-compiler-complains-about-undefined-references-to-some-static-const-member-variables-but-i-did-define-them-in-the-class-body-what's-wrong)
+1. [Can I derive a test fixture from another?](#can-i-derive-a-test-fixture-from-another)
+1. [My compiler complains "void value not ignored as it ought to be." What does this mean?](#my-compiler-complains-void-value-not-ignored-as-it-ought-to-be-what-does-this-mean)
+1. [My death test hangs (or seg-faults). How do I fix it?](#my-death-test-hangs-or-seg-faults-how-do-i-fix-it)
+1. [Should I use the constructor/destructor of the test fixture or SetUp()/TearDown()? {#CtorVsSetUp}](#should-i-use-the-constructordestructor-of-the-test-fixture-or-setupteardown-ctorvssetup)
+1. [The compiler complains "no matching function to call" when I use ASSERT_PRED*. How do I fix it?](#the-compiler-complains-no-matching-function-to-call-when-i-use-assert_pred-how-do-i-fix-it)
+1. [My compiler complains about "ignoring return value" when I call RUN_ALL_TESTS(). Why?](#my-compiler-complains-about-ignoring-return-value-when-i-call-run_all_tests-why)
+1. [My compiler complains that a constructor (or destructor) cannot return a value. What's going on?](#my-compiler-complains-that-a-constructor-or-destructor-cannot-return-a-value-what's-going-on)
+1. [My SetUp() function is not called. Why?](#my-setup-function-is-not-called-why)
+1. [I have several test suites which share the same test fixture logic, do I have to define a new test fixture class for each of them? This seems pretty tedious.](#i-have-several-test-suites-which-share-the-same-test-fixture-logic-do-i-have-to-define-a-new-test-fixture-class-for-each-of-them-this-seems-pretty-tedious)
+1. [googletest output is buried in a whole bunch of LOG messages. What do I do?](#googletest-output-is-buried-in-a-whole-bunch-of-log-messages-what-do-i-do)
+1. [Why should I prefer test fixtures over global variables?](#why-should-i-prefer-test-fixtures-over-global-variables)
+1. [What can the statement argument in ASSERT_DEATH() be?](#what-can-the-statement-argument-in-assert_death-be)
+1. [I have a fixture class `FooTest`, but `TEST_F(FooTest, Bar)` gives me error ``"no matching function for call to `FooTest::FooTest()'"``. Why?](#i-have-a-fixture-class-footest-but-test_ffootest-bar-gives-me-error-no-matching-function-for-call-to-footestfootest'-why)
+1. [Why does ASSERT_DEATH complain about previous threads that were already joined?](#why-does-assert_death-complain-about-previous-threads-that-were-already-joined)
+1. [Why does googletest require the entire test suite, instead of individual tests, to be named *DeathTest when it uses ASSERT_DEATH?](#why-does-googletest-require-the-entire-test-suite-instead-of-individual-tests-to-be-named-deathtest-when-it-uses-assert_death)
+1. [But I don't like calling my entire test suite \*DeathTest when it contains both death tests and non-death tests. What do I do?](#but-i-don't-like-calling-my-entire-test-suite-\deathtest-when-it-contains-both-death-tests-and-non-death-tests-what-do-i-do)
+1. [googletest prints the LOG messages in a death test's child process only when the test fails. How can I see the LOG messages when the death test succeeds?](#googletest-prints-the-log-messages-in-a-death-test's-child-process-only-when-the-test-fails-how-can-i-see-the-log-messages-when-the-death-test-succeeds)
+1. [The compiler complains about "no match for 'operator<<'" when I use an assertion. What gives?](#the-compiler-complains-about-no-match-for-'operator<<'-when-i-use-an-assertion-what-gives)
+1. [How do I suppress the memory leak messages on Windows?](#how-do-i-suppress-the-memory-leak-messages-on-windows)
+1. [How can my code detect if it is running in a test?](#how-can-my-code-detect-if-it-is-running-in-a-test)
+1. [How do I temporarily disable a test?](#how-do-i-temporarily-disable-a-test)
+1. [Is it OK if I have two separate `TEST(Foo, Bar)` test methods defined in different namespaces?](#is-it-ok-if-i-have-two-separate-testfoo-bar-test-methods-defined-in-different-namespaces)
+
 <!-- GOOGLETEST_CM0014 DO NOT DELETE -->
 
 ## Why should test suite names and test names not contain underscore?
diff --git a/googletest/docs/pkgconfig.md b/googletest/docs/pkgconfig.md
index 117166cf..23a79d55 100644
--- a/googletest/docs/pkgconfig.md
+++ b/googletest/docs/pkgconfig.md
@@ -1,5 +1,13 @@
 ## Using GoogleTest from various build systems
 
+## Contents
+1. [CMake](#cmake)
+1. [Autotools](#autotools)
+1. [Meson](#meson)
+1. [Plain Makefiles](#plain-makefiles)
+1. [Help! pkg-config can't find GoogleTest!](#help-pkg-config-can't-find-googletest)
+1. [Using pkg-config in a cross-compilation setting](#using-pkg-config-in-a-cross-compilation-setting)
+
 GoogleTest comes with pkg-config files that can be used to determine all
 necessary flags for compiling and linking to GoogleTest (and GoogleMock).
 Pkg-config is a standardised plain-text format containing
diff --git a/googletest/docs/primer.md b/googletest/docs/primer.md
index f581d77a..459b419f 100644
--- a/googletest/docs/primer.md
+++ b/googletest/docs/primer.md
@@ -1,5 +1,19 @@
 # Googletest Primer
 
+## Contents
+1. [Introduction: Why googletest?](#introduction-why-googletest)
+1. [Beware of the nomenclature](#beware-of-the-nomenclature)
+1. [Basic Concepts](#basic-concepts)
+1. [Assertions](#assertions)
+	1. [Basic Assertions](#basic-assertions)
+	1. [Binary Comparison](#binary-comparison)
+	1. [String Comparison](#string-comparison)
+1. [Simple Tests](#simple-tests)
+1. [Test Fixtures: Using the Same Data Configuration for Multiple Tests {#same-data-multiple-tests}](#test-fixtures-using-the-same-data-configuration-for-multiple-tests-same-data-multiple-tests)
+1. [Invoking the Tests](#invoking-the-tests)
+1. [Writing the main() Function](#writing-the-main-function)
+1. [Known Limitations](#known-limitations)
+
 ## Introduction: Why googletest?
 
 *googletest* helps you write better C++ tests.