added __iter__()