some optimizations to String
more optimizations to string, need to change children list to single pointers per node