refine tsi.c and tsi.h