add string lib and test cases