string callbacks and iterators