support custom iterators for simulation steps