add new "new" and "free" statements that would use the heap

variables are just values on the stack, except when they're on the heap

there will be no pass by reference, only pass by value; kinda like java