Implement iterate
Implement range