added iterator pattern demo