[Fixes #10] Re-write Interator