added IterateChan