added a bunch for polymorphism
did a lot of work on the semanalyzer
There seems to be problems from when I tried to merge but I am not sure how to fix it because i am pretty sure it isn't in what i added