Added in function definition, loops, and much more