support go, c, shell