add TypeExtension.cs