add smartchr for go