add some test to check for multiple definitions
a bunch of alias testcases
count common variables as definitions and don't allow alias