Adding iterator pattern, in progress.