move type-generator completely to new object model