diff --git a/generateIndex.py b/generateIndex.py
index a87d0e01303c1d509c3a0aa218f14579a4f9f73a..dd5d35631ca5ff60dbea9fe80bf697cd73b1f47b 100644
--- a/generateIndex.py
+++ b/generateIndex.py
@@ -60,7 +60,7 @@ for d in dirs:
 
     # set the header of the section
     index += "\n### " + d.capitalize() + "\n"
-    localIndexArr = []
+    localIndexArr = ["\n"]
 
     # walk through the folders with all the cards
     for root, dirs, files in os.walk(folder+"/"+d):
@@ -115,7 +115,7 @@ for d in dirs:
                     title = title[2:]
 
                     #index += "  * [" + title + "](./" + root + "/" + "\n"
-                    localIndexArr.append("  * [" + title + "](./" + root + "/" + ")\n")
+                    localIndexArr.append("* [" + title + "](./" + root + "/" + ")\n")
 
                     # output
                     print(" + New header added.")
@@ -129,8 +129,15 @@ for d in dirs:
 #print(index)
 # Read in the file
 indexFile = "index.md"
+filedata = ""
 with open(indexFile, 'r') as file :
-  filedata = file.read()
+    for line in file:
+        filedata += line
+
+        # stop reading once the index place holder has been reached
+        if re.search("<!-- index -->", line):
+            filedata += "[[ index ]]"
+            break
 
 # Replace the target string
 filedata = filedata.replace('[[ index ]]', index)