rewrote date iterator