redo of dynamic strings, no memory leaks