use Source interface for iteration underlying