diff --git a/Tools.md b/Tools.md
index 260e2ec..ed634d4 100644
--- a/Tools.md
+++ b/Tools.md
@@ -1,40 +1,40 @@
 ## Tools available in OpenBMC Test Automation ##
 
-**Hardware Test Executive (HTX):**
+## Hardware Test Executive (HTX): ##
 
 HTX is a suite of test tools for stressing system hardware. It is routinely
 used by the test suites under `systest/`. Refer to [README](https://github.com/open-power/HTX)
 
-* SEL to error log conversion procedure:
+## SEL to error log conversion procedure: ##
 
-    Pre-requisite: A Power Linux system is required to build the tools.
+Pre-requisite: A Power Linux system is required to build the tools.
 
-    ** Obtaining SEL parser tools: **
+* Obtaining SEL parser tools:
     - Go to https://openpower.xyz/job/openpower-op-build/
     - Click the link for the BMC system of interest (e.g. witherspoon)
     - Click the "host_fw_debug.tar" link in order to download the tar file.
     - On your Power Linux system, untar the file with the following command:
-      ```
-      $ tar -xvf host_fw_debug.tar
-      ```
+    ```
+    $ tar -xvf host_fw_debug.tar
+    ```
 
     - Run the following to rename the untarred files:
-      ```
-      $ for file_name in host_fw_debug* ; do mv $file_name ${file_name#host_fw_debug} ; done
-      ```
+    ```
+    $ for file_name in host_fw_debug* ; do mv $file_name ${file_name#host_fw_debug} ; done
+    ```
 
     The files of interest are as follows:
     eSEL.pl
     hbotStringFile
     hbicore.syms
 
-    An error log binary parser is also required:
+* An error log binary parser is also required:
     - Go to https://sourceforge.net/projects/linux-diag/files/ppc64-diag/
     - Download the latest release version of the source tar zipped.
     - Extract the tarball and compile. Refer to README in the source.
     - On successful compilation, get `opal-elog-parse` binary.
 
-    **Generating error log from SEL binary data:**
+* Generating error log from SEL binary data:
 
     Run the following command:
 
@@ -53,40 +53,38 @@
     This command will generate a SEL_data.txt file.
 
 
-**This document describes the tools available in the /tools directory.**
+## Obtain a copy of GitHub issues in CSV format: ##
 
-* Obtain a copy of GitHub issues in CSV format:
+Note: You will be prompted to enter your GitHub password.
 
-    Note: You will be prompted to enter your GitHub password.
+Usage:
+```
+$ cd tools/
+$ python github_issues_to_csv <github user> <github repo>
+```
+Example for getting openbmc issues:
+```
+$ python github_issues_to_csv <github user>  openbmc/openbmc
+```
+Example for getting openbmc-test-automation issues:
+```
+$ python github_issues_to_csv <github user>  openbmc/openbmc-test-automation
+```
 
-    Usage:
-    ```
-    $ cd tools/
-    $ python github_issues_to_csv <github user> <github repo>
-    ```
-    Example for getting openbmc issues:
-    ```
-    $ python github_issues_to_csv <github user>  openbmc/openbmc
-    ```
-    Example for getting openbmc-test-automation issues:
-    ```
-    $ python github_issues_to_csv <github user>  openbmc/openbmc-test-automation
-    ```
+## Generate Robot test cases documentation: ##
 
-* Generate Robot test cases documentation:
+Usage:
+```
+$ ./tools/generate_test_document <Robot test directory path> <test case document file path>
+```
 
-    Usage:
-    ```
-    $ ./tools/generate_test_document <Robot test directory path> <test case document file path>
-    ```
+Example for generating tests cases documentation for tests directory:
+```
+$ ./tools/generate_test_document tests testsdirectoryTCdocs.html
+```
 
-    Example for generating tests cases documentation for tests directory:
-    ```
-    $ ./tools/generate_test_document tests testsdirectoryTCdocs.html
-    ```
-
-    Example for generating tests cases documentation:
-    Note: Invoke the tool without arguments:
-    ```
-    $ ./tools/generate_test_document
-    ```
+Example for generating tests cases documentation:
+Note: Invoke the tool without arguments:
+```
+$ ./tools/generate_test_document
+```
