add support for named types
improve support for GEP