add textbuf.h