add yuki's design pattern ch1.iterator