added string library; more refinements