add cstring (from cloudwu)