fix misplaced label that caused a stupid error
some work on advanced typedefs
typedefs really need work
much improvement to typedef handling