add support for interface/enum and feilds