type and subtype