add lazy string support