python forward declaration
# In python the rule is that you need to define a function before it is executed but not
# before it is used so this works:
def OtherFunction()
Function()
def Function()
print("Hi I am a function!")
# but not this:
Function()
def Function()
print("Hi I am a function!")