added typedef and metatype