added stringmanipulation algorithms