added string algorithms