Reimplement iterate