Basiclly finish iteration part including some bugs to fix.