broke out all maps from the translator into a translation context struct and made all previously private member functions into non-friend non-member functions that take the context as an argument