add tcast and ftcast