diff --git a/tests/MyGame/InParentNamespace.py b/tests/MyGame/InParentNamespace.py
index e78ea6a..197072b 100644
--- a/tests/MyGame/InParentNamespace.py
+++ b/tests/MyGame/InParentNamespace.py
@@ -10,13 +10,17 @@
     __slots__ = ['_tab']
 
     @classmethod
-    def GetRootAsInParentNamespace(cls, buf, offset):
+    def GetRootAs(cls, buf, offset=0):
         n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
         x = InParentNamespace()
         x.Init(buf, n + offset)
         return x
 
     @classmethod
+    def GetRootAsInParentNamespace(cls, buf, offset=0):
+        """This method is deprecated. Please switch to GetRootAs."""
+        return cls.GetRootAs(buf, offset)
+    @classmethod
     def InParentNamespaceBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
         return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x4D\x4F\x4E\x53", size_prefixed=size_prefixed)
 
@@ -25,8 +29,11 @@
         self._tab = flatbuffers.table.Table(buf, pos)
 
 def InParentNamespaceStart(builder): builder.StartObject(0)
+def Start(builder):
+    return InParentNamespaceStart(builder)
 def InParentNamespaceEnd(builder): return builder.EndObject()
-
+def End(builder):
+    return InParentNamespaceEnd(builder)
 
 class InParentNamespaceT(object):
 
