Adding Iterator support