add type cast supports