functions can now have local symbols that override normal symbols and some other stuff