now support compiling string