using parallel::generate_n in replicate
added replicate_iterator
mv sugar_begin in its own file
correct create iterators